Главная страница
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.014 c
2-1181579202
Bullfrog
2007-06-11 20:26
2007.07.08
даже не знаю как назвать...


2-1181713631
_(W)_
2007-06-13 09:47
2007.07.08
ADO (Access)


2-1181754485
molotok
2007-06-13 21:08
2007.07.08
работа с Word файлами


2-1181682276
hprx
2007-06-13 01:04
2007.07.08
БД в Delphi


2-1181565348
repus
2007-06-11 16:35
2007.07.08
Помогите ожалуйста.