|
Проблема с 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:35 |
|
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5)
|
|||
---|---|---|---|
#18+
Код: pascal 1.
Выдает "TFIBGuidField" ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2018, 10:39 |
|
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5)
|
|||
---|---|---|---|
#18+
developer0118 Коллеги, подскажите в чем может быть проблема. В Дельфи: Код: pascal 1. 2. 3. 4. 5.
FIB'ы глючат, или я что-то не так делаю? А почему вы считаете, что селект без сортировки и условий вернет вам последнюю запись? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2018, 10:54 |
|
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5)
|
|||
---|---|---|---|
#18+
А если так Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2018, 10:56 |
|
Проблема с 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:07 |
|
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5)
|
|||
---|---|---|---|
#18+
SQL2008А почему вы считаете, что селект без сортировки и условий вернет вам последнюю запись? Потому что там одна единственная запись. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2018, 11:10 |
|
Проблема с 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:12 |
|
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5)
|
|||
---|---|---|---|
#18+
developer0118, Отладчик покажет где :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2018, 11:25 |
|
Проблема с 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, 11:57 |
|
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5)
|
|||
---|---|---|---|
#18+
Всё, тема закрыта ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2018, 12:11 |
|
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5)
|
|||
---|---|---|---|
#18+
developer0118Всё, тема закрыта А что было-то? Поделитесь знанием. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2018, 13:31 |
|
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5)
|
|||
---|---|---|---|
#18+
Гуиды, как и первичные ключи, никогда не надо ни преобразовывать, ни показывать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2018, 14:48 |
|
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5)
|
|||
---|---|---|---|
#18+
Все просто. На форуме такие вопросы уже задавали. Uuid <>guid. Поэтому на клиента надо передавать не строковое представление, а 16 байтовое. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2018, 07:23 |
|
Проблема с GUID (Firebird 3.0.2, Delphi XE3, FIBPlus7.5)
|
|||
---|---|---|---|
#18+
У FB порядок байт в первых трех блоках big-endian. Решение - либо оперировать исключительно бинарным 16-байтовым представлением, либо переворачивать туда-сюда, либо просто оставить генерацию только на один источник (либо клиент, либо сервер) - тогда будет пофигу, в каком там порядке байты ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2018, 15:33 |
|
|
start [/forum/topic.php?fid=40&msg=39609945&tid=1561215]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 318ms |
total: | 469ms |
0 / 0 |