IBX.IBDatabase.TIBDatabase.CreateDatabase

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

procedure CreateDatabase;

C++

void __fastcall CreateDatabase();

プロパティ

種類 可視性 ソース ユニット
procedure
function
public
IBX.IBDatabase.pas
IBX.IBDatabase.hpp
IBX.IBDatabase TIBDatabase


説明

Params を使用してデータベースを作成します。

CreateDatabase を呼び出すと、CREATE DATABASE コマンドの残りの部分に Params を使用して、データベースを作成します。

たとえば、ローカル InterBase データベースを作成したい場合、次の作業を行います:

  1. データベース名を、ドライブ、パス、データベースのファイル名に設定。
  2. Params を、CREATE DATABASE 文のパラメータに設定: USER "SYSDBA" PASSWORD "masterkey" PAGE_SIZE 4096
  3. SQLDialect 値を設定。
  4. CreateDatabase メソッドを呼び出す。

CreateDatabase プロシージャの呼び出し方法の例です:

Delphi:
CreateDatabase('localhost','C:\ProgramData\Embarcadero\InterBase\gds_db\examples\database\test.ib');
C++:
 createDatabase("localhost", "C:\\ProgramData\\Embarcadero\\InterBase\\gds_db\\examples\\database\\test.ib");

以下は、CreateDatabase をプログラムから使用する Delphi および C++ の例です:

例(Delphi):

Procedure CreateDatabase(ServerName,RemotePath: string);
var
  IBDatabaseTest: TIBDatabase;
begin
  IBDatabaseTest := TIBDatabase.Create(nil);
  try
    try
      IBDatabaseTest.DatabaseName := ServerName + ':' + RemotePath;
      IBDatabaseTest.SQLDialect := 3;
      IBDatabaseTest.Params.Clear;
      IBDatabaseTest.Params.Add('USER "SYSDBA"');
      IBDatabaseTest.Params.Add('PASSWORD "masterkey"');
      IBDatabaseTest.Params.Add('page_size=4096');
      IBDatabaseTest.LoginPrompt := False;
      IBDatabaseTest.CreateDatabase;
    except
      on E: exception do
        Showmessage(E.ClassName + ': ' + E.Message);
    end;
  finally
    IBDatabaseTest.Free;
  end;
end;

例(C++):

void createDatabase(UnicodeString ServerName, UnicodeString RemotePath) {
	TIBDatabase *IBDatabaseTest = new TIBDatabase(NULL);
		try {
		IBDatabaseTest->DatabaseName = ServerName + ":" + RemotePath;
		IBDatabaseTest->SQLDialect = 3;
		IBDatabaseTest->Params->Clear();
		IBDatabaseTest->Params->Add("USER \"SYSDBA\"");
		IBDatabaseTest->Params->Add("PASSWORD \"masterkey\"");
		IBDatabaseTest->Params->Add("page_size=4096");
		IBDatabaseTest->LoginPrompt = false;
		IBDatabaseTest->CreateDatabase();
	}
	catch (Exception &e) {
		ShowMessage(e.ClassName()+":"+e.Message);
	}
}

関連項目