Blob и ODBC
Модератор: kdv
Blob и ODBC
Здравствуйте. Помогите, пожалуйста, с моей проблемой.
Написана программа на Delphi 7, база данных FB1.5, соединение с базой через ODBC.
При получении содержимого поля Blob из БД его размер усекается до 32 кБ. (Если подключаться к БД через BDE, то содержимое Blob поля берется полностью)
Версию ODBC меняла, не помогло. Работала с серверами, установленными и на Windows XP и на Unix.
Мне нужно работать через ODBC, как получить Blob поле в полном объеме?
Написана программа на Delphi 7, база данных FB1.5, соединение с базой через ODBC.
При получении содержимого поля Blob из БД его размер усекается до 32 кБ. (Если подключаться к БД через BDE, то содержимое Blob поля берется полностью)
Версию ODBC меняла, не помогло. Работала с серверами, установленными и на Windows XP и на Unix.
Мне нужно работать через ODBC, как получить Blob поле в полном объеме?
помилуйте, а зачем ИЗ DELPHI соединяться с FIREBIRD через ODBC?
Извиняюсь за брутальность, но это напоминает известный анекдот про удаление гланд.
Что за ODBC, кстати? Хотя если приложение только это, и только на Delphi, от коннекта через ODBC надо избавиться как можно скорее.
http://www.ibase.ru/devinfo/choosecomp.htm
Извиняюсь за брутальность, но это напоминает известный анекдот про удаление гланд.
Что за ODBC, кстати? Хотя если приложение только это, и только на Delphi, от коннекта через ODBC надо избавиться как можно скорее.
http://www.ibase.ru/devinfo/choosecomp.htm
Здравствуйте KDV. Большое спасибо, что Вы мне ответили. Расскажу Вам как все было с самого начала.
Что за ODBC? Firebird_ODBC_1.2.0.69-Win32, Firebird_ODBC_2.0.0-Win32 и Firebird_ODBC_2[1].0.0-Win32.
С BDE была такая история: Был настроен источник BDE. Для хранения денег сначала использовали Double Precision. Но потом выяснилось, что в связи с этим могут быть “бухгалтерские сюрпризы” и стали хранить деньги в numeric. В результате чего в полях grid(numeric) стала отображаться надпись (bytes) для форматов numeric(10.2) и более, а для форматов numeric(9.2) и менее стала отображаться только целая часть дробного числа (т.е. как integer). После настройки источника ODBC все нормализовалось. Но оказалось, что нормализовалось с numeric, а с BLOB появились проблемы.
Что за ODBC? Firebird_ODBC_1.2.0.69-Win32, Firebird_ODBC_2.0.0-Win32 и Firebird_ODBC_2[1].0.0-Win32.
С BDE была такая история: Был настроен источник BDE. Для хранения денег сначала использовали Double Precision. Но потом выяснилось, что в связи с этим могут быть “бухгалтерские сюрпризы” и стали хранить деньги в numeric. В результате чего в полях grid(numeric) стала отображаться надпись (bytes) для форматов numeric(10.2) и более, а для форматов numeric(9.2) и менее стала отображаться только целая часть дробного числа (т.е. как integer). После настройки источника ODBC все нормализовалось. Но оказалось, что нормализовалось с numeric, а с BLOB появились проблемы.
Используются BDE->ODBCkdv писал(а):www.ibase.ru/ibfaq.htm#bde
кстати, какие компоненты данных используются? BDE->ODBC, или
ADO->ODBC ?
Это я поняла, он их рассмотривает как longvar. Но вот если отказаться от источника ODBC, и перейти опять на источник BDE, что делать с numeric?kdv писал(а):жуть. ну вот, похоже, коннектор odbc в BDE и не дает работать с блобами больше 32к. он их, очевидно, как текстовые поля только рассматривает.Используются BDE->ODBC
У нас тут тоже были такие умники. Сделали на BDE, забиваясь на "любой" сервер в будущем.Ната писал(а):т.к. еще не совсем определились с сервером БД, есть вероятность того, что не по зависящим от меня причинам придется уходить на MS SQL или еще на что-то. Поэтому и работаем с BDE.
В итоге получилось, что продукт работает только с IB/FB, с другими не умеет, да так и осталась на BDE.