Kaa писал(а):мож какая хитрость есть?
статью здесь читал про то как работать с IBX, счас не могу найти...
Метод CreateDatabase тупо передает серверу DDL-statement CREATE DATABASE (обрати внимание на Params.Text):
procedure TIBDatabase.CreateDatabase;
var
tr_handle: TISC_TR_HANDLE;
begin
CheckInactive;
tr_handle := nil;
Call(
FGDSLibrary.isc_dsql_execute_immediate(StatusVector, @FHandle, @tr_handle, 0,
PChar('CREATE DATABASE ''' + FDBName + ''' ' + {do not localize}
Params.Text), SQLDialect, nil),
True);
end;
В результате должно получиться примерно такое:
CREATE DATABASE 'C:\DataBase\Database.gdb'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 4096
DEFAULT CHARACTER SET WIN1251;
Поэтому параметры надо перечислять как для CREATE DATABASE (это не совсем то, что требуется для подсоединения в БД):
Кусочек из Help'а:
Description
Call CreateDatabase to create a database using Params as the rest of the CREATE DATABASE command.
For example, if you wanted to create a local InterBase database, you could do the following:
1. Set the database name to the drive, path, and filename of the database file.
2. Set Params to the parameter for the CREATE DATABASE statement:
USER 'SYSDBA'
PASSWORD 'masterkey'
PAGE_SIZE 4096
3. Set the SQLDialect value.
4. Call the CreateDatabase method.