Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.033 c
4-1078997925
BiN
2004-03-11 12:38
2004.05.09
"Вклиниться" в адр. пространство библиотеки до выполнения Dllmain


3-1081423941
AlexPal
2004-04-08 15:32
2004.05.09
Проблемы с Русским шрифтом


1-1082456952
Ruslan
2004-04-20 14:29
2004.05.09
Как узнать по какой строке щелкнул пользователь в ListView?


1-1082613339
Alexey
2004-04-22 09:55
2004.05.09
Файлы


14-1081921022
химик
2004-04-14 09:37
2004.05.09
Люди, срочно! Может кто-то скинуть мне на почту QTINTF.DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский