Firebird Сортировка по умолчанию
При создании базы данных Firebird с использованием приведенного ниже SQL-кода он не следует заданному сопоставлению по умолчанию. Но если я изменю параметры сортировки по умолчанию после создания базы данных, это сработает.
Это создает базу данных, которая имеет параметры сортировки по умолчанию UTF8. Я попытался опустить параметр для CharacterSet, но это создаст базу данных без набора символов вместо набора символов, предоставляемого оператором sql.
редактировать: добавление компонента настройки
fConnection.Params.Add(Format('DriverID=%s', ['IB']));
fConnection.Params.Add(Format('Database=%s', [vDBFile]));
fConnection.Params.Add(Format('CharacterSet=%s', ['UTF8']));
fConnection.Params.Add(Format('user_name=%s', ['sysdba']));
fConnection.Params.Add(Format('password=%s', ['masterkey']));
fConnection.Params.Add(Format('ExtendedMetadata=%s', ['True']));
fConnection.Params.Add(Format('CreateDatabase=%s', ['Yes']));
fConnection.Params.Add(Format('Protocol=%s', ['TCPIP']));
fConnection.Params.Add(Format('Server=%s', [pInfo.xServer]));
vScript := TADScript.Create(nil);
vScript.Connection := fConnection;
vScript.Transaction := fTransaction;
vScript.SQLScripts.Add.SQL.Text :=
{leaving out quotes for readability}
SET SQL DIALECT 3;
SET CLIENTLIB 'c:\Firebird\fbclient.dll';
CREATE DATABASE 'TEST'
USER 'sysdba' PASSWORD 'masterkey'
PAGE_SIZE 16384
DEFAULT CHARACTER SET UTF8 COLLATION UNICODE_CI_AI;
vScript.ValidateAll;
vScript.ExecuteAll;
Выполнение следующего SQL после создания базы данных изменит параметры сортировки по умолчанию на UNICODE_CI_AI
ALTER CHARACTER SET UTF8 SET DEFAULT COLLATION UNICODE_CI_AI
Какой SQL я должен использовать, чтобы параметры сортировки по умолчанию были правильно установлены при создании базы данных?
В настоящее время я использую Firebird 2.5.5 и обращаюсь к нему из Delphi 2006 с помощью компонентов AnyDac.