Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
03.03.2018, 10:35
|
|||
---|---|---|---|
|
|||
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5) |
|||
#18+
Коллеги, подскажите в чем может быть проблема. Firebird 3.0.2, Delphi XE3 + FIBPlus7.5 В базу записываю один GUID, а селектится совсем другой... В базе создаю так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
В Дельфи: Код: pascal 1. 2. 3. 4. 5.
Код: pascal 1.
В ответ получаю "{9A176D56-0FA3-9B44-8F82-77BE246907CF}", что совсем не похоже на изначальное "566D179A-A30F-449B-8F82-77BE246907CF"... IBExpert при просмотре данных таблицы показывает "566D179A-A30F-449B-8F82-77BE246907CF". FIB'ы глючат, или я что-то не так делаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2018, 10:39
|
|||
---|---|---|---|
|
|||
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5) |
|||
#18+
Код: pascal 1.
Выдает "TFIBGuidField" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2018, 10:54
|
|||
---|---|---|---|
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5) |
|||
#18+
developer0118 Коллеги, подскажите в чем может быть проблема. В Дельфи: Код: pascal 1. 2. 3. 4. 5.
FIB'ы глючат, или я что-то не так делаю? А почему вы считаете, что селект без сортировки и условий вернет вам последнюю запись? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2018, 10:56
|
|||
---|---|---|---|
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5) |
|||
#18+
А если так Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2018, 11:07
|
|||
---|---|---|---|
|
|||
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5) |
|||
#18+
developer0118, {9A176D56-0FA3-9B44-8F82-77BE246907CF} {566D179A-A30F-449B-8F82-77BE246907CF} Перепутаны байты. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2018, 11:10
|
|||
---|---|---|---|
|
|||
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5) |
|||
#18+
SQL2008А почему вы считаете, что селект без сортировки и условий вернет вам последнюю запись? Потому что там одна единственная запись. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2018, 11:12
|
|||
---|---|---|---|
|
|||
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5) |
|||
#18+
Hommerdeveloper0118, {9A176D56-0FA3-9B44-8F82-77BE246907CF} {566D179A-A30F-449B-8F82-77BE246907CF} Перепутаны байты. То есть, ошибка где-то в GetAsGuid у FIB'ов? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2018, 11:25
|
|||
---|---|---|---|
|
|||
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5) |
|||
#18+
developer0118, Отладчик покажет где :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2018, 11:57
|
|||
---|---|---|---|
|
|||
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5) |
|||
#18+
Ещё погуглил, и как-то совсем печально стало... http://firebirdsql.su/doku.php?id=char_to_uuid Это ошибка или фича? Результат преобразования CHAR_TO_UUID и UUID_TO_CHAR в FB 2.5.2 отличается от принятого в Windows (Например, CLSIDFromString и StringFromCLSID из Ole32.dll, или StringAsGUID, GUIDAsString, GUIDAsStringToPChar из Delphi 7) порядком следования байт. Win32 API: B3 B2 B1 B0 B5 B4 B7 B6 B8 B9 BA BB BC BD BE BF Firebird : B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF Например, из одного TGUID получим: Win32 API: 9B47BC19-D0AE-5243-A37D-AF26806BFEEA Firebird : 19BC479B-AED0-4352-A37D-AF26806BFEEA ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2018, 12:11
|
|||
---|---|---|---|
|
|||
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5) |
|||
#18+
Всё, тема закрыта ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2018, 13:31
|
|||
---|---|---|---|
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5) |
|||
#18+
developer0118Всё, тема закрыта А что было-то? Поделитесь знанием. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.03.2018, 14:48
|
|||
---|---|---|---|
|
|||
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5) |
|||
#18+
Гуиды, как и первичные ключи, никогда не надо ни преобразовывать, ни показывать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2018, 07:23
|
|||
---|---|---|---|
|
|||
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5) |
|||
#18+
Все просто. На форуме такие вопросы уже задавали. Uuid <>guid. Поэтому на клиента надо передавать не строковое представление, а 16 байтовое. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2018, 15:33
|
|||
---|---|---|---|
|
|||
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5) |
|||
#18+
У FB порядок байт в первых трех блоках big-endian. Решение - либо оперировать исключительно бинарным 16-байтовым представлением, либо переворачивать туда-сюда, либо просто оставить генерацию только на один источник (либо клиент, либо сервер) - тогда будет пофигу, в каком там порядке байты ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=40&tablet=1&tid=1561215]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
76ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 306ms |
total: | 468ms |
0 / 0 |