Текущий архив: 2006.04.02;
Скачать: CL | DM;
ВнизBLOB Поля. Invalid Field Type! Найти похожие ветки
← →
DELORAC © (2006-02-09 10:04) [0]База - ORACLE 9
Delphi 7, связь через BDE.
При выполнении такого кода выскакивает ошибка Invalid Field Type!with TRxQuery.Create(Owner) do
try
DatabaseName := MyDbName;
SQL.Text := "select doc from sd_tab where rownum = 1"
Open;
Close;
finally
Free;
end;
где поле doc - blob.
Вставка в базу идет прекрасно, а вот вытащить не удается...
Обидно, что раньше все работало... Из изменений только переезд сервера. Настройки BDE не менялись...
Даже если пытаюсь создать статическую TQuery, то при выполнении Add All Fields выскакивает та же ошибка... При добавлении нового поля в этой же TQuery и при установки его типа ftOraBlob при открытии прямо в окне разработки опять выскакивает та же ошибка. Паримся уже второй день. Кто подскажет?
Заранее спасибо всем ответившим!
← →
Sergey13 © (2006-02-09 10:08) [1]2DELORAC © (09.02.06 10:04)
>При выполнении такого кода выскакивает ошибка Invalid Field Type!
На какойстроке? И каков вообще смысл этого кода?
← →
DELORAC © (2006-02-09 10:27) [2]Да, прошу прощения, на строке
Open;
Смысл этого кода - создается динамическая TQuery - проставляется ее DatabaseName, заполняется текст запроса и происходит попытка открыть эту долбанную TQuery. И при открытии возникает данная ошибка. Произведя анализ всего этого г...на выяснили, что в момент присоединения к базе BDE или еще кто-то не может определить тип Blob.
← →
DELORAC © (2006-02-09 10:35) [3]> [2]
Я просто убрал ненужные вычисления - проблема при Open;
← →
Sergey13 © (2006-02-09 10:41) [4]А параметр BLOB SIZE в BDE Administator какой стоит? Может увеличить надо?
← →
Johnmen © (2006-02-09 10:42) [5]>Обидно, что раньше все работало... Из изменений только переезд сервера.
Поподробней, что именно изменилось.
← →
DELORAC © (2006-02-09 10:58) [6]BLOB SIZE = 32
BLOBS TO CACHE = 64
Это не то, в этом случае будет ограничение на размер затягиваемого/вытягиваемого файла, а тут просто сам тип не определяется...
Из всех изменений - сервер Oracle переехал физически на другую машину с сохранением IP-адреса. Возможно даже менялись какие-то настройки сервера, я не администратор - не знаю, да и сам администратор тоже не знает. Что-то не верится, что проблема в сервере, скорее в BDE или в связке BDE-Клиент-Сервер. Только где - ХЗ...
← →
Val © (2006-02-09 11:07) [7]Обидно, что раньше все работало... Из изменений только переезд сервера. Настройки BDE не менялись...
это единственный квери, работающий с блобами во всем проекте?
какой тип поля в таблице БД?
какой тип поля определяется для этого блоба в делфи?
← →
Reindeer Moss Eater © (2006-02-09 11:15) [8]Проверь параметр DLL32 для Оракла в BDE администраторе.
SQLORA32 не понимает типов блоб (кроме long и long raw)
← →
DELORAC © (2006-02-09 11:17) [9]Это не единственный - другие TQuery заносят данные в BLOB, а этот вытаскивает. Вытаскивающий - далеко не единственный в проекте, на машине и на других машинах в разных программах. Перепробовали уже все варианты в т.ч. и с ручным определением типа в статическом TQuery Delphi. Тип поля в таблице BLOB (create table table (pole blob)). В Delphi этот тип вообще не определчется никак - выскакивает ошибка.
← →
DELORAC © (2006-02-09 11:20) [10]
> [8] Reindeer Moss Eater © (09.02.06 11:15)
Да стоит SQLORA32.DLL, а что нужно проставить, чтобы не навернулись 32-х битные программы?
← →
Val © (2006-02-09 11:23) [11]у меня SQLORA8.DLL
← →
vovnuke © (2006-02-09 11:23) [12]А если этот запрос из SQLExplorera выполнить, работает?
← →
DELORAC © (2006-02-09 11:35) [13]ДА! ДА! ДА!
Всем Спасибо!
Огромный РЕСПЕКТ Reindeer Moss Eater !
Все получилось! Но...
Возникли другие проблемы, как выяснилось SQLORA32 - универсальный драйвер для разных версий Oracle (что очень критично) - и поддерживал более менее нормальную работу BDE. При смене его на SQLORA8 возникли проблемы с TStoredProc... Как бы здесь поступить, чтобы и волки сыты и овцы целы?
← →
Val © (2006-02-09 11:37) [14]какие проблемы?
← →
DELORAC © (2006-02-09 11:42) [15]Ошибки при вызове и заполнении параметров - старожилы говорят, что это старая проблема, поэтому везде и было проставлено SQLORA32, и мне кто-то без моего ведома поменял мою SQLORA8 на 32, потому и перестало работать...
← →
Sergey13 © (2006-02-09 11:43) [16]А как же это раньше работало, если фактически только же серверное железо поменялось?
← →
Val © (2006-02-09 11:52) [17]там проблемы с передачей блоб-параметров, других не замечал.
← →
evvcom © (2006-02-09 14:10) [18]
> чтобы и волки сыты и овцы целы?
Настрой 2-ой алиас. Все через SQLORA32.DLL, а проблемные блобы через SQLORA8.DLL. Остальные советы у меня только кардинальные, в сравнении с которыми > format C: покажется невинной шуткой. :)
Страницы: 1 вся ветка
Текущий архив: 2006.04.02;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.037 c