powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Неверное сравнение COLLATION [215]
7 сообщений из 7, страница 1 из 1
Неверное сравнение COLLATION [215]
    #39980390
Имеется 2 базы данных Firebird 2.5:
БД 1:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SET SQL DIALECT 3;
SET NAMES WIN1251;
SET CLIENTLIB 'C:\Work\Firebird25BinLnk\fbclient.dll';
CREATE DATABASE 'LOCALHOST:C:\Work\ErrorDemos\IbExpert\215\Err215-1.fdb'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 16384
DEFAULT CHARACTER SET WIN1251 COLLATION PXW_CYRL;

CREATE DOMAIN "DomTest" AS
VARCHAR(10) CHARACTER SET WIN1251
COLLATE PXW_CYRL;

CREATE TABLE "Table1" (
    "Test"  "DomTest" COLLATE PXW_CYRL );


БД2:
То же самое, отличие только в Table1:
Код: sql
1.
2.
CREATE TABLE "Table1" (
    "Test"  "DomTest" COLLATE WIN1251 );


Сравниваем эти БД (Source = БД1, Target = БД2), получаем сценарий:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
/* Server version: WI-V6.3.8.27089 Firebird 2.5 
   SQLDialect: 3. ODS: 11.2. Forced writes: On. Sweep interval: 20000.
   Page size: 16384. Cache pages: 2048 (32768 Kb). Read-only: False. */
SET CLIENTLIB 'C:\Work\Firebird25BinLnk\fbclient.dll';
SET NAMES WIN1251;

SET SQL DIALECT 3;

CONNECT 'LOCALHOST:C:\Work\ErrorDemos\IbExpert\215\Err215-2.fdb' USER 'SYSDBA' PASSWORD 'masterkey';

SET AUTODDL ON;

/******************************************************************************/
/****                           Altering tables                            ****/
/******************************************************************************/
UPDATE RDB$RELATION_FIELDS
SET RDB$COLLATION_ID = 0
WHERE (RDB$RELATION_NAME = 'Table1') AND (RDB$FIELD_NAME = 'Test');

COMMIT WORK;


В этом сценарии значение 0, присваиваемое полю COLLATION_ID, соответствует COLLATION WIN1251, а не PXW_CYRL.
...
Рейтинг: 0 / 0
Неверное сравнение COLLATION [215]
    #39980942
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверил: у меня SET RDB$COLLATION_ID = 1 в скрипте выдает.
После выполнения скрипта различий не находит.
...
Рейтинг: 0 / 0
Неверное сравнение COLLATION [215]
    #39983212
IBExpert,
возможно, причина в какой-то настройке?
При просмотре результатов сравнения я вижу следующее:
(см. приложенный файл).
Судя по этим данным, программа сравнения считает, что в БД 1 COLLATION = WIN1251, поэтому и в сценарий записывает RDB$COLLATION_ID = 0.
При извлечении метаданных из БД 1 сценарий содержит правильное определение поля:
Код: sql
1.
2.
3.
CREATE TABLE "Table1" (
    "Test"  "DomTest" COLLATE PXW_CYRL
);
...
Рейтинг: 0 / 0
Неверное сравнение COLLATION [215]
    #39983426
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий Андреев

Судя по этим данным, программа сравнения считает, что в БД 1 COLLATION = WIN1251, поэтому и в сценарий записывает RDB$COLLATION_ID = 0.


Нет, там просто ошибка в комментарии: вместо имени коллейта стоит имя чарсета.
На формирование апдейт-скрипта это никак не влияет.

Но у себя я вижу немного другую картинку, и пока не пойму, почему. Покопаюсь еще.
...
Рейтинг: 0 / 0
Неверное сравнение COLLATION [215]
    #39983444
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А версия эксперта у тебя какая?
...
Рейтинг: 0 / 0
Неверное сравнение COLLATION [215]
    #39983449
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, все, воспроизвел. Это правки по твоему предыдущему баг-репорту вылезли и вот здесь. Сейчас вернул как было и получил картинку как у тебя. Разберемся.
...
Рейтинг: 0 / 0
Неверное сравнение COLLATION [215]
    #39983510
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде исправил.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Неверное сравнение COLLATION [215]
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]