Форум: "Базы";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
ВнизFIB + GUID Найти похожие ветки
← →
MM_ASH (2007-04-11 13:23) [0]Добрый день, уважаемые мастера! У меня возникла следующая проблема:
- хочу реализовать в FireBird1.5 поле типа GUID
- использую FibPlus
- при записи в SQL передаю параметром нулевой GUID {00000000-0000...}
- домен GUID поля CHAR(16) CHARACTER SET OCTETS
- после чтения из базы получаю {00F5...и всякий мусор}
- профайлером смотрю что возвращает запрос на выборку - там {00000000-0000...}
В чем может быть ошибка?
← →
MM_ASH (2007-04-11 13:25) [1]Я так понимаю происходит не верное преобразование уже при обработке полученного от сервера набора данных из-за того, что GUID содержит символы #0, поскольку для других значений GUID результат верный
← →
Сергей М. © (2007-04-11 13:25) [2]
> В чем может быть ошибка?
Известно в чем - в 17-й строке)
← →
Desdechado © (2007-04-11 13:26) [3]> CHARACTER SET OCTETS
Зачем это?
В подключении тоже указывается кодировка. Совпадает?
← →
Сергей М. © (2007-04-11 13:27) [4]
> GUID содержит символы #0,
Ну так если ты это понимаешь, какого же ты интерпретируешь эти данные как строковые ?
← →
MM_ASH (2007-04-11 13:43) [5]>Сергей М.
Эти данные FIB интерпретирует как битовый массив, но интерпретирует похоже не верно.
>Desdechado
Зачем это?
В подключении тоже указывается кодировка. Совпадает?
Это нужно что бы FireBird хранил в строке бинарные данные и не обрезал ее после символа #0
В подключении не указываю, т.к. это кодировка только для одного типа строк
← →
Desdechado © (2007-04-11 13:52) [6]> что бы FireBird хранил в строке бинарные данные и не обрезал ее после символа #0
Откуда в твоем гуиде двоичный ноль? Там же только 16-чные цифры?
← →
Jan1 (2007-04-11 14:37) [7]http://www.ibase.ru/devinfo/test2.htm
← →
Jan1 (2007-04-11 14:38) [8]ну и http://www.ibase.ru/d_udf.htm - там есть еще.
← →
Сергей М. © (2007-04-11 14:42) [9]
> MM_ASH (11.04.07 13:43) [5]
> битовый массив
Что за бред ?
← →
MM_ASH (2007-04-11 15:54) [10]http://www.ibase.ru/devinfo/octets.htm
← →
Сергей М. © (2007-04-12 08:16) [11]
> MM_ASH (11.04.07 15:54) [10]
И где там написано про "битовый массив" ?
То что преобразованиям не подвергается - это и так понятно.
И то что строку можно интерпретировать как массив байт - тоже очевидно.
Но вот интерпретация строки как именно битового массива - это уже чудеса внешней обработки)
← →
MM_ASH (2007-04-12 10:40) [12]Ну в общем да... фраза битовый массив должна была объяснить суть того, что это бинаные данные :-) Но это мне не как не решило проблему... GUID разбирается на клиенте внутри FIB или же внутри DB до первого #0... Там используется функция CopyData.. не может ли быть дело в ней?
← →
Сергей М. © (2007-04-12 10:52) [13]
> MM_ASH (12.04.07 10:40) [12]
Ну раз "не обрабатывается", то конечно на клиенте, где же еще ?
← →
MM_ASH (2007-04-12 11:31) [14]Ладно... спасибо :-)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.099 c