|
新しいデータベース名、辞書パス、データ パス、データベース フラグおよびコード ページに指定された情報を使用して、既存のデータベースを変更します。この関数は、データベース コード ページが指定されることを除けば、PvModifyDatabase() (DTI 関数)とまったく同じです。
ヘッダー ファイル:catalog.h(「ヘッダー ファイル」も参照)
関数が最初に利用可能になるライブラリ:w3dbav90.dll(Windows)、libpsqldti.so(Linux)(「リンク ライブラリ」も参照)
BTI_API PvModifyDatabase2( BTI_LONG hConnection, BTI_CHAR_PTR dbNameExisting, BTI_CHAR_PTR dbNameNew, BTI_CHAR_PTR dictPath, BTI_CHAR_PTR dataPath, BTI_ULONG dbFlags, BTI_LONG dbCodePage);
In
|
hConnection
|
サーバーを識別する接続ハンドル。接続ハンドルは PvConnectServer() (DTI 関数)関数によって取得されます。
|
In
|
dbNameExisting
|
既存のデータベース名。
|
In
|
dbNameNew
|
新規のデータベース名。データベース名を変更しない場合は、このパラメーターにヌルを設定します。
|
In
|
dictPath
|
辞書パス。
|
In
|
dataPath
|
データ パス。デフォルトのデータ パス(つまり、辞書パスと同じパス)を使用するには、この値にヌルを設定します。
複数のパスに保存された トランザクショナル インターフェイス データ ファイルを含んでいるデータベースを変更する場合は、このパラメーターにセミコロン(;)で区切られた一覧を指定します。たとえば、次のようにします。
C: ¥ data ¥ path1;C: ¥ data ¥ path2
|
In
|
dbFlags
|
データベース フラグ。P_DBFLAG_ 定数を組み合わせて指定できます。
P_DBFLAG_RI(参照整合性およびトリガーを含む、整合性制約を設定します。)
P_DBFLAG_BOUND(データベース名を辞書にスタンプし、そのデータベースのみが DDF を使用できるようにします。)
P_DBFLAG_DBSEC_AUTHENTICATION(データベース セキュリティ認証の混合セキュリティを使用します。Btrieve セキュリティ ポリシーを参照してください)。
P_DBFLAG_DBSEC_AUTHORIZATION(データベース セキュリティ認証のデータベース セキュリティ ポリシーを使用します。Btrieve セキュリティ ポリシーを参照してください)。
P_DBFLAG_LONGMETADATA(メタデータ バージョン 2 を使用します。メタデータのバージョンを参照してください)。
|
In
|
dbCodePage
|
Windows プラットフォームのデータベースの場合、番号によってデータベース データとメタデータ文字列のコード ページを示します。
Linux ディストリビューションのデータベースの場合、以下の値のいずれかによってデータベース データとメタデータ文字列のコード ページを示します。
Windows または Linux のデータベースでは、ゼロまたは P_DBCODEPAGE_NA の値も使用できます。
ゼロは旧来の動作を示します。つまり、コード ページは指定されません。これはサーバー マシンのオペレーティング システム(OS)におけるエンコードを使用することを意味します。『Pervasive PSQL User's Guide』の「データベース コード ページ」も参照してください。
P_DBCODEPAGE_NA はコード ページをそのままの状態にしておくことを指定します(データベース コード ページは変更されません)。
メモ:データベース エンジンは、アプリケーションがデータベースに追加するデータおよびメタデータのエンコードを検証しません。エンジンは、すべてのデータが、『Getting Started with Pervasive PSQL』の「エンコードの相互の影響」で説明されているようにサーバーまたはクライアントのエンコードを使用して入力されるものと想定しています。
|
P_OK
|
操作は成功しました。
|
P_E_INVALID_HANDLE
|
接続ハンドルが無効です。
|
P_E_NULL_PTR
|
ヌル ポインターによる呼び出しです。
|
P_E_ACCESS_RIGHT
|
操作を実行するための十分なアクセス権がありません。
|
P_E_NOT_EXIST
|
名前付きデータベースがサーバー上にありません。
|
P_E_FAIL
|
その他の理由により失敗しました。
|
以下の前提条件を満たす必要があります。
Btrieve セキュリティ ポリシーを参照してください。
PvConnectServer() (DTI 関数)
PvCreateDatabase2() (DTI 関数)
PvCreateDSN2() (DTI 関数)
PvDisconnect() (DTI 関数)
PvFreeDbNamesData() (DTI 関数)
PvGetDbCodePage() (DTI 関数)
PvGetDbDataPath() (DTI 関数)
PvGetDbDictionaryPath() (DTI 関数)
PvGetDbFlags() (DTI 関数)
PvGetDbName() (DTI 関数)
PvGetDbNamesData() (DTI 関数)
PvGetDbServerName() (DTI 関数)
PvGetDSNEx2() (DTI 関数)
PvModifyDSN2() (DTI 関数)
PvStart() (DTI 関数)
PvStop() (DTI 関数)
|