:: Visual Foxpro, Foxpro for DOS
CURSORSETPROP("MapBinary",.T.,0) нужен или нет?
hztp_serg

Сообщений: 577
Откуда: Хмельницкий
Дата регистрации: 19.06.2007
Когда на скл данные хранились в поле IMAGE, то чтобы получить их на фоксе, использовал настройку CURSORSETPROP("MapBinary",.T.,0):
CURSORSETPROP("MapBinary",.T.,0)
m.lcCommand = [SELECT flname, filebody FROM DDOC..s1linked WHERE file_id = 518568]
SQLEXEC(m.lnCon, m.lcCommand, [CurDoc])
COPY MEMO CurDoc.filebody TO (CurDoc.flname)
Тип поля IMAGE изменил на VARBINARY(MAX), после чего начал получать ошибку:
Field must be a Memo field
если убрать CURSORSETPROP("MapBinary",.T.,0) или изменить на CURSORSETPROP("MapBinary",.F.,0), то ошибки нет.
Получается, с VARBINARY(MAX) настройка CURSORSETPROP("MapBinary",.T.,0) не нужна?
Ratings: 0 negative/0 positive
Re: CURSORSETPROP("MapBinary",.T.,0) нужен или нет?
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
Вероятно косяк используемого ODBC драйвера. Это с Native драйвером такая беда, или с антикварным "SQL Server"?
Согласно документации настройка MapBinary для получения данных в поля типа blob/varbinary (на стороне фокса) нужна. Иначе символьные/мемо поля будут появляться, или вообще неадекватный General.

Показал бы хоть структуру получаемого курсора (какое поле там образовалось для содержимого файла), написал точные версии и фокса и используемых ODBC драйверов.

P.S. Чисто формально (согласно документации) ни APPEND MEMO ни COPY MEMO не предназначены для работы с blob полями. Хотя по факту работают, и вроде бы явных проблем с ними не заметно. Вот то что загонять в переменную содержимое такого поля (равно как и просто "возвращать как значение из функции" - по сути это порождает обычную переменную) надо с осторожностью - фокс формально (опять же - согласно документации) ограничивает размер строковой переменной величиной в примерно 16Мб. Кое что, иногда, кое как работает и с большими размерами, но иногда всё просто весело крашится.


------------------
WBR, Igor




Исправлено 1 раз(а). Последнее : Igor Korolyov, 08.05.20 19:03
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 19 (Гостей: 19)

© 2000-2024 Fox Club 
Яндекс.Метрика