Distributed Tuning Interface Guide (v11)

PvCreateDatabase2() (DTI 関数)

dbnames.cfg ファイルへエントリを追加することによって、データベースを作成します。この関数は、データベース コード ページが指定されることを除けば、PvCreateDatabase() (DTI 関数) とまったく同じです。

ヘッダー ファイル:catalog.h(ヘッダー ファイルも参照)

関数が最初に利用可能になるライブラリ:w3dbav90.dll(Windows)、libpsqldti.so(Linux)(リンク ライブラリも参照)

構文

BTI_API PvCreateDatabase2( 
	BTI_LONG           hConnection, 
	BTI_CHAR_PTR       dbName, 
	BTI_CHAR_PTR       dictPath, 
	BTI_CHAR_PTR       dataPath, 
	BTI_ULONG          dbFlags, 
	BTI_LONG           dbCodePage); 

引数

In
hConnection
サーバーを識別する接続ハンドル。接続ハンドルは PvConnectServer() (DTI 関数) 関数によって取得されます。
In
dbName
データベース名。
In
dictPath
辞書パス。
In
dataPath
データ パス。デフォルトのデータ パス(つまり、辞書パスと同じパス)を使用するには、空文字列を渡します。
複数のパスに保存された トランザクショナル インターフェイス データ ファイルから構成されるデータベースを作成する場合は、このパラメーターにセミコロン(;)で区切られた一覧を指定します。 たとえば、次のようにします。
C:¥data¥path1;C:¥data¥path2
In
dbFlags
データベース フラグ。P_DBFLAG_ 定数を組み合わせて指定できます。
P_DBFLAG_RI(参照整合性およびトリガーを含む、整合性制約を設定します。)
P_DBFLAG_BOUND(DDF ファイルを作成してデータベース名を辞書にスタンプし、そのデータベースのみが DDF を使用できるようにします。データベースがバインドされていない場合は、複数のデータベースで同一の辞書ファイル セットを使用できます。)バウンド データベースを作成するときに既存の DDF ファイルにバインドしたい場合は、P_DBFLAG_CREATE_DDF と P_DBFLAG_BOUND の両方を指定します。
P_DBFLAG_CREATE_DDF(DDF ファイルを作成します。dictPath に指定されたディレクトリは存在している必要があります。)
P_DBFLAG_DBSEC_AUTHENTICATION(データベース セキュリティ認証の混合セキュリティを使用します。Btrieve セキュリティ ポリシー を参照してください)。
P_DBFLAG_DBSEC_AUTHORIZATION(データベース セキュリティ認証のデータベース セキュリティ ポリシーを使用します。Btrieve セキュリティ ポリシー を参照してください)。
P_DBFLAG_LONGMETADATA(メタデータ バージョン 2 を使用します。メタデータのバージョン を参照してください)。
In
dbCodePage
Windows プラットフォームのデータベースの場合、番号によってデータベース データとメタデータ文字列のコード ページを示します。
Linux ディストリビューションのデータベースの場合、以下の値のいずれかによってデータベース データとメタデータ文字列のコード ページを示します。
  • P_DBCODEPAGE_UTF8
  • P_DBCODEPAGE_EUCJP
  • P_DBCODEPAGE_ISO8859_1
Windows または Linux のデータベースでは、ゼロの値も使用できます。
ゼロは旧来の動作を示します。つまり、コード ページは指定されません。これはサーバー マシンのオペレーティング システム(OS)におけるエンコードを使用することを意味します。 『Pervasive PSQL User's Guide』のデータベース コード ページも参照してください。
メモ:データベース エンジンは、アプリケーションがデータベースに追加するデータおよびメタデータのエンコードを検証しません。エンジンは、すべてのデータが、『Getting Started with Pervasive PSQL』のエンコードの相互の影響で説明されているようにサーバーまたはクライアントのエンコードを使用して入力されるものと想定しています。

戻り値

P_OK
操作は成功しました。
P_E_INVALID_HANDLE
接続ハンドルが無効です。
P_E_NULL_PTR
ヌル ポインターによる呼び出しです。
P_E_ACCESS_RIGHT
操作を実行するための十分なアクセス権がありません。
P_E_DICTIONARY_ALREADY_EXISTS
辞書は既に存在するため、作成できません。
P_E_SHARED_DDF_EXIST
辞書パスは別のデータベースが使用中です。
P_E_DUPLICATE_NAME
名前付きデータベースはサーバーに既に存在します。
P_E_FAIL
その他の理由により失敗しました。

備考

以下の前提条件を満たす必要があります。

Btrieve セキュリティ ポリシーとメタデータのバージョン

それぞれについて、Btrieve セキュリティ ポリシーおよびメタデータのバージョンを参照してください。

関連項目

PvConnectServer() (DTI 関数)
PvCreateDSN2() (DTI 関数)
PvDisconnect() (DTI 関数)
PvDropDatabase() (DTI 関数)
PvGetDbCodePage() (DTI 関数)
PvGetDbFlags() (DTI 関数)
PvGetDSNEx2() (DTI 関数)
PvModifyDatabase2() (DTI 関数)
PvStart() (DTI 関数)
PvStop() (DTI 関数)


PvCreateDatabase() (DTI 関数)

PvCreateDictionary() (DTI 関数)