Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.08;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
2-1181996528
nord489
2007-06-16 16:22
2007.07.08
ADOConnection


2-1181799859
zero-g
2007-06-14 09:44
2007.07.08
Delphi + MySql


4-1170336758
Vladix
2007-02-01 16:32
2007.07.08
Завершение некоторых процессов с одинаковым именем


15-1181247521
Slimer
2007-06-08 00:18
2007.07.08
Вопрос президенту


15-1181412506
Prefd
2007-06-09 22:08
2007.07.08
Вопрос по Word у