Binary в SQL

MaratIsk
Дата: 22.11.2007 14:34:06
Есть сервер приложений на основе midware. Клиент общается с сервером только посредством SQL-команд. Возникла трудность с обновлением и добавлением значений в поля с двоичными типами вроде Ole-объектные поля в Access, image в MS SQL, blob, clob и т.д в Oracle.

Хотелось узнать кто как решает преобразование двоичных данных в текст для SQL insert и update выражений.
Альт
Дата: 23.11.2007 14:33:56
биндовые переменные и лоб локаторы? или я не понял вопроса... с чем проблемы то... с маршалингом данных?... что-то пятница
Petro123
Дата: 23.11.2007 14:57:06
MaratIsk
Описал проблему. Хотелось узнать кто как решает преобразование двоичных данных в текст для SQL insert и update выражений.

пусть пЭвм их преобразовывает
    FADOQuery1.sql.text := format(SSQL_UPD, [FsIDbj]);
    FADOQuery1.parameters.CreateParameter('par',ftBlob, pdUnknown, 0, Null);
    FADOQuery1.parameters.parseSQL(FADOQuery1.sql.text, true);
    FADOQuery1.parameters.parambyname('par').LoadFromFile(sNameFile, ftBlob);
    FADOQuery1.execsql;
MaratIsk
Дата: 26.11.2007 09:28:39
параметризованные запросы тут не годятся. речь о вставке в текст SQL-команды двоичных данных в виде строкового значения для insert и update
Petro123
Дата: 26.11.2007 10:51:10
MaratIsk
параметризованные запросы тут не годятся. речь о вставке в текст SQL-команды двоичных данных в виде строкового значения для insert и update

изврат преподователь заказал?
Warstone
Дата: 27.11.2007 08:33:57
MaratIsk
параметризованные запросы тут не годятся. речь о вставке в текст SQL-команды двоичных данных в виде строкового значения для insert и update
А как отреагирует сервер, на появление, предположим #0 в строке?
MaratIsk
Дата: 28.11.2007 13:53:00
черт его знает
сейчас проблему решаю так - для хранения использую тип поля memo (access), text (mssql), клиент преобразует stream в string функциями из mimeencode/decode, который и запихиваю в sql-команду. правда на больших данных access ругается на слишком длинный sql
Anatoly Podgoretsky
Дата: 28.11.2007 14:11:15
С Binary также можно работать с помощью потоков ввода/вывода.
Petro123
Дата: 28.11.2007 15:00:22
MaratIsk
черт его знает
сейчас проблему решаю так - для хранения использую тип поля memo (access), text (mssql), клиент преобразует stream в string функциями из mimeencode/decode, который и запихиваю в sql-команду. правда на больших данных access ругается на слишком длинный sql

нда, бывают же велосипеды:
клиент -> бинарные -> текстовый ->СУБД.текстовоеПоле -> текстовый -> бинарные -> клиент

вместо
клиент -> бинарные -> СУБД.БлобПоле -> бинарные -> клиент
Warstone
Дата: 28.11.2007 15:05:34
Petro123
нда, бывают же велосипеды:
клиент -> бинарные -> текстовый ->СУБД.текстовоеПоле -> текстовый -> бинарные -> клиент
Ага... Только это не самое страшное.. вон у меня... "знакомый":
клиент -> бинарные -> текстовый -> сервер -> бинарный -> СУБД.блобПоле -> бинарный -> текстовый -> к клиенту -> бинарные -> клиент