Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизMIDAS, Oracle, передача в BLOB через параметр Найти похожие ветки
← →
Unk (2004-04-08 05:58) [0]При вставке двоичного файла в BLOB поле через параметр ClientDatasеt-а происходит резка файла до 6 байт. Текстовый файл вставляется нормально.
BlobClientDataSet.CommandText:=’insert into app_files (file_name, binary_file) values (:file_name, :binary_file);
BlobClientDataSet.params.findparam(‘file_name’).asstring:=extractfilename(‘c:\files\test.mp3’);
BlobClientDataSet.params.findparam(‘binary_file’).LoadFromFile(‘c:\files\test.mp3’, ftBlob);
BlobClientDataSet.execute;
При LoadFromStream происходит то же самое. На сервере приложений у провайдера dataset-ом является TOraQuery (компоненты ODAC).
Что не так или что необходимо добавить в код? Буду очень признателен за помощь.
← →
Unk (2004-04-08 05:58) [0]При вставке двоичного файла в BLOB поле через параметр ClientDatasеt-а происходит резка файла до 6 байт. Текстовый файл вставляется нормально.
BlobClientDataSet.CommandText:=’insert into app_files (file_name, binary_file) values (:file_name, :binary_file);
BlobClientDataSet.params.findparam(‘file_name’).asstring:=extractfilename(‘c:\files\test.mp3’);
BlobClientDataSet.params.findparam(‘binary_file’).LoadFromFile(‘c:\files\test.mp3’, ftBlob);
BlobClientDataSet.execute;
При LoadFromStream происходит то же самое. На сервере приложений у провайдера dataset-ом является TOraQuery (компоненты ODAC).
Что не так или что необходимо добавить в код? Буду очень признателен за помощь.
← →
Johnmen © (2004-04-08 09:35) [1]1. Не указан тип параметра binary_file
2. params.ParamByName("...").LoadFromStream(...,ftBLOB);
← →
Johnmen © (2004-04-08 09:35) [1]1. Не указан тип параметра binary_file
2. params.ParamByName("...").LoadFromStream(...,ftBLOB);
← →
Nikolay M. © (2004-04-08 09:48) [2]Сначала не по сабжу, бросилось в глаза:
BlobClientDataSet.params.findparam(‘binary_file’)
Ты в курсе, что произойдет, если в один прекрасный день ты поменяешь имя параметра с binary_file на mega_binary_file? Всего лишь небольшой AV. Попалась мне как-то в наследство программка, автор которой использовал FindParam. А поскольку с момента написания программы прошло туева хуча времени, названия параметров поменялись и проверка этим "программистом" на (FindParam <> nil) просто не присваивала значения. Как следствие, банковская программа молча долгое время работала неправильно! Руки бы поотрывал...
Что до сабжа, до у параметра, имхо, тип еще нужно выставить.
← →
Nikolay M. © (2004-04-08 09:48) [2]Сначала не по сабжу, бросилось в глаза:
BlobClientDataSet.params.findparam(‘binary_file’)
Ты в курсе, что произойдет, если в один прекрасный день ты поменяешь имя параметра с binary_file на mega_binary_file? Всего лишь небольшой AV. Попалась мне как-то в наследство программка, автор которой использовал FindParam. А поскольку с момента написания программы прошло туева хуча времени, названия параметров поменялись и проверка этим "программистом" на (FindParam <> nil) просто не присваивала значения. Как следствие, банковская программа молча долгое время работала неправильно! Руки бы поотрывал...
Что до сабжа, до у параметра, имхо, тип еще нужно выставить.
← →
Unk (2004-04-08 10:59) [3].paramtype:=ptInput;
Касаемо .ParamByName("...").LoadFromStream(...,ftBLOB); - это не влияет на результат
← →
Unk (2004-04-08 10:59) [3].paramtype:=ptInput;
Касаемо .ParamByName("...").LoadFromStream(...,ftBLOB); - это не влияет на результат
← →
Nikolay M. © (2004-04-08 11:08) [4]Про .DataType речь.
← →
Nikolay M. © (2004-04-08 11:08) [4]Про .DataType речь.
← →
Johnmen © (2004-04-08 11:09) [5]1. Не указан тип данных параметра
2.
>это не влияет на результат
Возможно указатель потока не стоит в начале...
← →
Johnmen © (2004-04-08 11:09) [5]1. Не указан тип данных параметра
2.
>это не влияет на результат
Возможно указатель потока не стоит в начале...
← →
Reindeer Moss Eater © (2004-04-08 11:10) [6]Тип поля вообще какой?
← →
Reindeer Moss Eater © (2004-04-08 11:10) [6]Тип поля вообще какой?
← →
Unk (2004-04-08 11:11) [7]А как его задать, пример можно, у меня комп с делфей пока недоступен, datatype является свойством чего?
← →
Unk (2004-04-08 11:11) [7]А как его задать, пример можно, у меня комп с делфей пока недоступен, datatype является свойством чего?
← →
Unk (2004-04-08 11:13) [8]>это не влияет на результат
И как указатель потока установить в начало?
← →
Unk (2004-04-08 11:13) [8]>это не влияет на результат
И как указатель потока установить в начало?
← →
Reindeer Moss Eater © (2004-04-08 11:14) [9]Тип данных у параметра определяется операцией присвоения параметру значения.
Так что это здесь - не причем
← →
Reindeer Moss Eater © (2004-04-08 11:14) [9]Тип данных у параметра определяется операцией присвоения параметру значения.
Так что это здесь - не причем
← →
Johnmen © (2004-04-08 11:20) [10]>Reindeer Moss Eater © (08.04.04 11:14) [9]
На это лучше не надеяться...
>Unk (08.04.04 11:13) [8]
MySream.Seek(soFromBeginning,0);
← →
Johnmen © (2004-04-08 11:20) [10]>Reindeer Moss Eater © (08.04.04 11:14) [9]
На это лучше не надеяться...
>Unk (08.04.04 11:13) [8]
MySream.Seek(soFromBeginning,0);
← →
Reindeer Moss Eater © (2004-04-08 11:22) [11]Тип поля в таблице вообще какой?
← →
Reindeer Moss Eater © (2004-04-08 11:22) [11]Тип поля в таблице вообще какой?
← →
Unk (2004-04-08 11:24) [12]Поле типа Blob в БД Oracle
← →
Unk (2004-04-08 11:24) [12]Поле типа Blob в БД Oracle
← →
Reindeer Moss Eater © (2004-04-08 11:25) [13]Нет такого типа поля в Оракл
← →
Reindeer Moss Eater © (2004-04-08 11:25) [13]Нет такого типа поля в Оракл
← →
Reindeer Moss Eater © (2004-04-08 11:25) [14]Хотя нет, вру
← →
Reindeer Moss Eater © (2004-04-08 11:25) [14]Хотя нет, вру
← →
Reindeer Moss Eater © (2004-04-08 11:33) [15]Скорее всего неправильно сгенерирован SQL для insert операции на сервере приложений.
С блобами работают через локаторы, которые сначала надо создать и связать с полем конкретной записи
← →
Reindeer Moss Eater © (2004-04-08 11:33) [15]Скорее всего неправильно сгенерирован SQL для insert операции на сервере приложений.
С блобами работают через локаторы, которые сначала надо создать и связать с полем конкретной записи
← →
Unk (2004-04-08 11:37) [16]я уже использовал условие returning и Empty_Blob() и с локаторами вообще ничего не вставляет, а без них только 6-7 байт файла
← →
Unk (2004-04-08 11:37) [16]я уже использовал условие returning и Empty_Blob() и с локаторами вообще ничего не вставляет, а без них только 6-7 байт файла
← →
Reindeer Moss Eater © (2004-04-08 11:39) [17]Тогда наверное тонкий клиент считает что поле текстовое или мемо. Ну и до первого нулевого байта принимает данные.
Попробуй подменить свой mp3 большим текстовым файлом
← →
Reindeer Moss Eater © (2004-04-08 11:39) [17]Тогда наверное тонкий клиент считает что поле текстовое или мемо. Ну и до первого нулевого байта принимает данные.
Попробуй подменить свой mp3 большим текстовым файлом
← →
Unk (2004-04-08 11:42) [18]через параметры TOraQuery (ODAC) все записывает нормально, а вот через параметр ClientDataSet не передает
← →
Unk (2004-04-08 11:42) [18]через параметры TOraQuery (ODAC) все записывает нормально, а вот через параметр ClientDataSet не передает
← →
Reindeer Moss Eater © (2004-04-08 12:09) [19]Попробуй подменить свой mp3 большим текстовым файлом.
Хотя и так ясно, что это тонкий клиент не понимает, что поле не текстовое а двоичное
← →
Reindeer Moss Eater © (2004-04-08 12:09) [19]Попробуй подменить свой mp3 большим текстовым файлом.
Хотя и так ясно, что это тонкий клиент не понимает, что поле не текстовое а двоичное
← →
Unk (2004-04-08 17:37) [20]Кто-нибудь сталкивался с подобной проблемой в конце концов?
← →
Unk (2004-04-08 17:37) [20]Кто-нибудь сталкивался с подобной проблемой в конце концов?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.036 c