この章で説明するTimesTenユーティリティ・ライブラリのC言語関数は、『Oracle TimesTen In-Memory Databaseリファレンス』の「ユーティリティ」で説明されているコマンドライン・ユーティリティの一部に対して、プログラム可能なインタフェースを提供します。
このC言語関数のセットを使用するアプリケーションでは、ttutillib.hをインクルードし、TimesTen Data Managerライブラリ(UNIXではlibtten、Windowsではttdv1121.libおよびtten1121.lib)およびTimesTenユーティリティ・ライブラリ(UNIXではlibttutil、Windowsではttutil1121.lib)の両方をリンクする必要があります。
|
重要: アプリケーションでは、他のいずれかのTimesTenユーティリティ・ライブラリ関数をコールする前に、ttUtilAllocEnvをコールする必要があります。 また、TimesTenユーティリティ・ライブラリ・インタフェースを使用して処理を行う場合は、ttUtilFreeEnv C関数をコールする必要があります。 |
これらの関数はTimesTen ClientまたはJavaアプリケーションではサポートされていません。TimesTen Data Manager ODBCアプリケーションでのみサポートされています。
リターン・コード
特に指定されていないかぎり、ユーティリティ関数は、ttutillib.hで定義されている次のコードを返します。
| コード | 説明 |
|---|---|
| TTUTIL_SUCCESS | 成功時に返します。 |
| TTUTIL_ERROR | エラー発生時に返します。 |
| TTUTIL_WARNING | 警告付きの成功時に返します。 |
| TTUTIL_INVALID_HANDLE | 無効なユーティリティ・ライブラリ・ハンドルが指定されている場合に返します。 |
説明
connStrで指定したデータ・ストアの全体バックアップまたは増分バックアップのコピーを作成します。データ・ストアは、一連のファイルまたはストリームのいずれかにバックアップできます。 ttRestore関数またはttRestoreユーティリティを使用して、後でデータ・ストアをリストアできます。バックアップ時にデータ・ストアが使用中の場合にこの処理を正常に完了するには、共有モードに設定されている必要があります。
TimesTenのバックアップおよびリストア機能の概要については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータ・ストアのコピー、移行、バックアップおよびリストアに関する項を参照してください。
必要な権限
ADMINが必要です。
構文
ttBackup (ttUtilHandle handle, const char *connStr, ttBackUpType type, ttBooleanType atomic, const char *backupDir, const char *baseName, ttUtFileHandle stream)
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
handle |
ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr |
const char * | バックアップするデータ・ストアについて記述する接続文字列を指定する、空文字で終了する文字列。 |
type |
ttBackupType | 実行するバックアップの種類を指定します。有効な値は、次のとおりです。
TT_BACKUP_FILE_FULL: TT_BACKUP_FILE_FULL_ENABLE: TT_BACKUP_FILE_INCREMENTAL: TT_BACKUP_FILE_INCR_OR_FULL: TT_BACKUP_STREAM_FULL: TT_BACKUP__INCREMENTAL_STOP: バックアップを実行しません。 |
atomic |
ttBooleanType | 新しいバックアップが作成されている間、同じbaseNameおよびbackupDirを持つ既存のバックアップの処理を指定します。
このパラメータは、同じ TT_FALSE: 新しいバックアップを開始する前に、既存のバックアップが破棄されます。 新しいバックアップが正常に完了しなかった場合、新しい不完全なバックアップも既存のバックアップもデータベースのリストアに使用できません。 このオプションは、データベースのバックアップを初めて行う場合、異なる TT_TRUE: 既存のバックアップは、新しいバックアップが正常に完了した後にのみ破棄されます。 新しいバックアップが正常に完了しなかった場合、古いバックアップは保持されており、データベースのリストアに使用できます。 同じ |
backupDir |
const char * | ファイル・バックアップのバックアップ・ディレクトリを指定します。このパラメータは、ストリーム・バックアップでは無視されます。それ以外の場合はNULL以外になります。
TT_BACKUP_INCREMENTAL_STOPの場合は、無効にするバックアップ・パスのディレクトリ部分を指定します。 TT_BACKUP_INCREMENTAL_STOPまたはファイル・バックアップの場合は、NULLを指定すると、エラーが返されます。 |
baseName |
const char * | ファイル・バックアップのbackupDirパラメータで指定されたバックアップ・ディレクトリ内のバックアップ・ファイルのファイル接頭辞を指定します。
このパラメータは、ストリーム・バックアップでは無視されます。 このパラメータにNULLを指定すると、バックアップ・ファイルのファイル接頭辞には、データ・ストアのODBC定義に設定された TT_BACKUP_INCREMENTAL_STOPの場合、このパラメータは無効にするバックアップ・パスのベース名部分を指定します。 |
stream |
ttUtFileHandle | ストリーム・バックアップの場合、このパラメータはバックアップが書き込まれるストリームを指定します。
UNIXの場合は、 Windowsの場合は、 このパラメータは、ファイル・バックアップでは無視されます。 アプリケーションで、このパラメータに対してTTUTIL_INVALID_FILE_HANDLEを渡すことができます。 |
例
payrollというDSNのデータ・ストアをC:\backupにバックアップするには、次のように入力します。
ttUtilHandle utilHandle;
int rc;
rc = ttBackup (utilHandle, "DSN=payroll", TT_BACKUP_FILE_FULL,
TT_TRUE, "c:\\backup", NULL, TTUTIL_INVALID_FILE_HANDLE);
バックアップが正常に行われると、すべてのファイルがC:\backupディレクトリに作成されます。
注意
各データ・ストアで、8つの増分可能バックアップのみがサポートされます。
参照
説明
接続文字列で指定したデータ・ストアに対応する、すべてのチェックポイント・ファイル、トランザクション・ログ、およびデーモン・カタログ・エントリを含むデータ・ストアを破棄します。 サポートされているUNIXプラットフォームのodbc.iniファイル内、またはサポートされているWindowsプラットフォームのWindowsレジストリ内に定義されているDSN自体は削除されません。
必要な権限
インスタンス管理者が必要です。
構文
ttDestroyDataStore (ttUtilHandle handle, const char *connStr, unsigned int timeout)
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
handle |
ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr |
const char * | 破棄するデータ・ストアについて記述する接続文字列を指定する、空文字で終了する文字列。 DSNおよびDataStore属性を除く、接続文字列内のすべてのデータ・ストア属性が無視されます。 |
timeout |
unsigned int | コール元に返される前に再試行する回数を指定します。ttDestroyDataStoreは、正常に実行されるかタイムアウトに達するまで、破棄処理を1秒ごとに繰り返し再試行します。これは、データ・ストアの使用中などの一時的な状態が原因で破棄が失敗する場合に有効です。
このパラメータが0(ゼロ)の場合、再試行は実行されません。 |
例
ファイルC:\dsns\payroll.ds0、C:\dsns\payroll.ds1およびいくつかのトランザクション・ログ・ファイルC:\dsns\payroll.lognで構成されるpayrollというDSNで定義されているデータ・ストアを破棄するには、次のように入力します。
char errBuff [256];
int rc;
unsigned int retCode;
ttUtilErrType retType;
ttUtilHandle utilHandle;
...
...
rc = ttDestroyDataStore (utilHandle, "DSN=payroll", 30);
if (rc == TTUTIL_SUCCESS)
printf ("Datastore payroll successfully destroyed.\n");
else if (rc == TTUTIL_INVALID_HANDLE)
printf ("TimesTen utility library handle is invalid.\n");
else
while ((rc = ttUtilGetError (utilHandle, 0, &retCode,
&retType, errBuff, sizeof (errBuff), NULL)) !=
TTUTIL_NODATA)
{
...
...
}
説明
接続文字列で指定したデータ・ストアに対応する、すべてのチェックポイント・ファイル、トランザクション・ログ、およびデーモン・カタログ・エントリを含むデータ・ストアを破棄します。 サポートされているUNIXプラットフォームのodbc.iniファイル内、またはサポートされているWindowsプラットフォームのWindowsレジストリ内に定義されているDSN自体は削除されません。
必要な権限
インスタンス管理者が必要です。
構文
ttDestroyDataStoreForce (ttUtilHandle handle, const char *connstr, unsigned int timeout)
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
handle |
ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr |
const char * | 破棄するデータ・ストアについて記述する接続文字列を指定する、空文字で終了する文字列。 DSNおよびDataStore属性を除く、接続文字列内のすべてのデータ・ストア属性が無視されます。 |
timeout |
unsigned int | コール元に返される前に再試行する秒数を指定します。ttDestroyDataStoreForceは、正常に実行されるかタイムアウトに達するまで、破棄処理を1秒ごとに繰り返し再試行します。 これは、データ・ストアの使用中などの一時的な状態が原因で破棄が失敗する場合に有効です。
このパラメータが0(ゼロ)の場合、再試行は実行されません。 |
例
ファイルC:\dsns\payroll.ds0、C:\dsns\payroll.ds1およびいくつかのトランザクション・ログ・ファイルC:\dsns\payroll.lognで構成されるpayrollというDSNで定義されているデータ・ストアを破棄するには、次のように入力します。
char errBuff [256];
int rc;
unsigned int retCode;
ttUtilErrType retType;
ttUtilHandle utilHandle;
...
...
rc = ttDestroyDataStoreForce (utilHandle, "DSN=payroll", 30);
if (rc == TTUTIL_SUCCESS)
printf ("Datastore payroll successfully destroyed.\n");
else if (rc == TTUTIL_INVALID_HANDLE)
printf ("TimesTen utility library handle is invalid.\n");
else
while ((rc = ttUtilGetError (utilHandle, 0, &retCode,
&retType, errBuff, sizeof (errBuff), NULL)) !=
TTUTIL_NODATA)
{
...
...
}
説明
最後のアプリケーションがデータ・ストアから接続を切断した後、接続文字列で指定したデータ・ストアがRAMに保持される秒数を指定します。その後、TimesTenはデータ・ストアをアンロードします。 猶予期間は随時設定または再設定が可能ですが、RAMポリシーがTT_RAMPOL_INUSEに設定されている場合のみです。
必要な権限
インスタンス管理者が必要です。
構文
ttRamGrace (ttUtilHandle handle, const char *connStr, unsigned int seconds)
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
handle |
ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr |
const char * | RAM猶予期間を設定するデータ・ストアについて記述する接続文字列を指定する、空文字で終了する文字列。 |
seconds |
unsigned int | 最後のアプリケーションがデータ・ストアから接続を切断した後、TimesTenがデータ・ストアをRAMに保持する秒数を指定します。その後、TimesTenはデータ・ストアをアンロードします。 |
例
payrollというDSNに10秒のRAM猶予期間を設定するには、次のように入力します。
ttUtilHandle utilHandle; int rc; rc = ttRamGrace (utilHandle, "DSN=payroll", 10);
参照
説明
接続文字列で指定したデータ・ストアをシステムのRAMにロードするようにTimesTenに指示します。 永続データ・ストアでは、ttRamLoadへのコールはRamPolicyがTT_RAMPOL_MANUALに設定されている場合にのみ有効です。一時データ・ストアでは、ttRamLoadへのコールによってデータ・ストアがRAMにロードされます。
必要な権限
インスタンス管理者が必要です。
構文
ttRamLoad (ttUtilHandle handle, const char *connStr)
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
handle |
ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr |
const char * | RAMにロードするデータ・ストアについて記述する接続文字列を指定する、空文字で終了する文字列。 |
例
payrollというDSNのデータ・ストアをロードするには、次のように入力します。
ttUtilHandle utilHandle; int rc; rc = ttRamLoad (utilHandle, "DSN=payroll");
参照
説明
接続文字列で指定したデータ・ストア用のシステムRAMにTimesTenがデータ・ストアをロードするタイミングを決定するためのポリシーを定義します。
必要な権限
インスタンス管理者が必要です。
構文
ttRamPolicy (ttUtilHandle handle, const char *connStr, ttRamPolicyType policy)
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
handle |
ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr |
const char * | RAMポリシーを設定するデータ・ストアについて記述する接続文字列を指定する、空文字で終了する文字列。 |
policy |
ttRamPolicyType | 指定したデータ・ストア用のシステムRAMにTimesTenがデータ・ストアをロードするタイミングを決定するためのポリシーを指定します。有効な値は、次のとおりです。
指定したデータ・ストアに対して明示的にRAMポリシーを設定しない場合、デフォルトのRAMポリシーはTT_RAMPOL_INUSEとなります。 |
例
payrollというDSNのRAMポリシーをmanualに設定するには、次のように入力します。
ttUtilHandle utilHandle; int rc; rc = ttRamPolicy (utilHandle, "DSN=payroll", TT_RAMPOL_MANUAL);
注意
一時データ・ストアにポリシーは設定できません。
参照
説明
RamPolicy属性がmanualに設定されている場合に、接続文字列で指定したデータ・ストアをシステムのRAMからアンロードするようにTimesTenに指示します。永続データ・ストアでは、このコールはRAMポリシーがTT_RAMPOL_MANUALに設定されている場合にのみ有効です。一時データ・ストアでは、RAMポリシーを設定できないため、ttRamUnloadをコールすると、RAMへのデータ・ストアのロードが常に試行されます。
必要な権限
インスタンス管理者が必要です。
構文
ttRamUnload (ttUtilHandle handle, const char *connStr)
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
handle |
ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr |
const char * | RAMからアンロードするデータ・ストアの接続文字列を指定する、空文字で終了する文字列。 |
例
payrollというDSNのデータ・ストアをRAMからアンロードするには、次のように入力します。
ttUtilHandle utilHandle; int rc; rc = ttRamUnload (utilHandle, "DSN=payroll");
注意
この関数を一時データ・ストアに対して使用すると、TimesTenはデータ・ストアのアンロードを常に試行します。
参照
説明
リモート・データ・ストアのレプリカをローカル・システムに作成します。 このプロセスは、受信側のローカル・システムから開始されます。 受信側のローカル・システムからリモートのソース・データ・ストアに接続され、複製処理が実行されます。
|
注意: データ・ストアでキャッシュ・グループが使用されない場合、cacheuidおよびcachepwdデータ構造体要素、TT_REPDUP_NOKEEPCG、TT_REPDUP_RECOVERINGNODEおよびTT_REPDUP_DEFERCACHEUPDATEの各フラグ値は関連しません。これらについては、以降で説明します。 |
必要な権限
ttRepDuplicateExがコールされる受信側ローカル・インスタンスのインスタンス管理者、およびリモートのソース・データ・ストアのADMIN権限を持つユーザーが必要です。 必要に応じて、リモートのソース・データ・ストアに内部ユーザーを作成します。
また、ttRepDuplicateExを実行するには、次の要件に注意してください。
受信側ローカル・インスタンスのインスタンス管理者のオペレーティング・システム・ユーザー名は、リモートのソース・データ・ストアのインスタンス管理者のオペレーティング・システム・ユーザー名と同じである必要があります。
ttRepDuplicateExが呼び出される場合、uidおよびpwd構造体要素で、リモートのソース・データ・ストアでADMIN権限を持つユーザーのユーザー名とパスワードを指定する必要があります。 このユーザー名は、複製処理を実行するためリモートのソース・データ・ストアに接続するために使用されます。
構文
ttRepDuplicateEx (ttUtilHandle handle, const char *destConnStr, const char *srcDatastore, const char *remoteHost, ttRepDuplicateExArg *arg ) typedef struct { unsigned int size; /*set to size of(ttRepDuplicateExArg) */ unsigned int flags; const char *uid; const char *pwd; const char *pwdcrypt; const char *cacheuid; const char *cachepwd; const char *localHost; int truncListLen; const char **truncList; int dropListLen; const char **dropList; int maxkbytesPerSec int remoteDaemonPort /*new struct elements can only be added here at the end */ } ttRepDuplicateExArg
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
handle |
ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
destConnStr |
const char * | リモート・データ・ストアのレプリカとして作成するローカル・データ・ストアの接続文字列を指定する、空文字で終了する文字列。 |
srcDatastore |
const char * | リモートのソース・データ・ストア名を指定する、空文字で終了する文字列。 この名前は、データ・ストア・パス名の最後の部分です。 |
remoteHost |
const char * | リモートのソース・データ・ストアが配置されているシステムのTCP/IPホスト名を指定する、空文字で終了する文字列。 |
arg |
ttRepDuplicateExArg* | 必要なttRepDuplicateEx引数が含まれている構造体のアドレス。 NULLがargに対して渡される場合、またはarg -> sizeの値が無効な場合は、エラー12230(「Invalid argument value」)およびTTUTIL_ERRORが返されます。 |
構造体要素
ttRepDuplicateEx引数の構造体には、次の要素があります。
| 要素 | 型 | 説明 |
|---|---|---|
size |
unsigned int | 最大(ttRepDuplicateExArg)のサイズまで設定する必要があります。 |
flags |
unsigned int | フラグ値の表のリストから選択される値のビット単位の共用体。 |
uid |
const char * | リモートのソース・データ・ストアでADMIN権限を持つユーザーのユーザー名。 このユーザー名は、複製処理を実行するためにリモートのソース・データ・ストアに接続する場合に使用されます。 |
pwd |
const char * | uidに関連付けられているパスワード。 |
pwdcrypt |
const char * | ユーザーIDに関連付けられている暗号化されたパスワード。 |
cacheuid |
const char * | キャッシュ管理ユーザーID。 |
cachepwd |
const char * | キャッシュ管理ユーザー・パスワード。 |
localHost |
const char * | ローカル・システムのTCP/IPホスト名を指定する、空文字で終了する文字列。remoteRepStartがTT_FALSEの場合、localHostは無視されます。 これによってローカル・ホストは明示的に識別されます。 このパラメータはNULLにできます。 これは、IPアドレスなどの標準でない名前をローカル・ホストに使用する場合に有効です。 |
truncListLen |
int | truncListの要素の数。 |
truncList |
const char** | 複製後に切り捨てるレプリケーションされていない表のリスト。 |
dropListLen |
int | dropListの要素の数。 |
dropList |
const char** | 複製処理後に削除するレプリケーションされていない表のリスト。 |
maxkbytesPerSec |
int | maxkbytesPerSecを0(ゼロ)以外の値に設定すると、複製処理でデータがmaxkbytesPerSec(KB/秒)を超えてネットワークに送信されないように指定されます。 maxkbytesPerSecを0(ゼロ)または負の値に設定すると、複製処理で帯域幅の制限が試行されないように指定されます。 |
remoteDaemonPort |
int | リモート・デーモン・ポートを指定します。 remoteDaemonPortを0に設定すると、ターゲット・データ・ストアのデーモン・ポート番号には、ソース・データ・ソース上のデーモンに使用されたポート番号が設定されます。
このオプションは、自動ポート構成を使用したデータ・ストアの複製処理では使用できません。 |
ttRepDuplicateExArgフラグ要素には、次の値があります。
| 値 | 説明 |
|---|---|
| TT_REPDUP_NOFLAGS | フラグがありません。 |
| TT_REPDUP_COMPRESS | 複製処理に対して、ネットワークを介して送信されるデータの圧縮を有効にします。 |
| TT_REPDUP_REPSTART | ttRepDuplicateExは、リモート・データ・ストアがネットワークを介してコピーされる前に、リモート・データ・ストアの(ローカル・データ・ストアに対する)レプリケーションの状態をstartに設定します。これによって、複製処理の後で行われたすべての更新が、リモート・データ・ストアから新しく作成またはリストアされたローカル・データ・ストアにレプリケートされます。 |
| TT_REPDUP_RAMLOAD | 複製処理の完了時に、メモリー内にデータ・ストアを保持します。 データ・ストアのRAMポリシーがmanualに変更されます。 |
| TT_REPDUP_DELXLA | ttRepDuplicateExは、すべてのXLAブックマークを複製処理の一部として削除します。 |
| TT_REPDUP_NOKEEPCG | キャッシュ・グループ定義を保持しません。 ttRepDuplicateExは、すべてのキャッシュ・グループ表を通常の表に変換します。
デフォルトでは、キャッシュ・グループ定義は保持されます。 |
| TT_REPDUP_RECOVERINGNODE | AWTまたは自動リフレッシュ・キャッシュ・グループを含むレプリケーション・スキームの障害ノードのリカバリにttRepDuplicateExを使用すること指定します。新しいレプリケーション・スキームまたは変更したレプリケーション・スキームをノードに適用する場合、TT_REPDUP_RECOVERINGNODEは指定しないでください。 ttRepDuplicateExでOracle Databaseに格納されているメタデータを更新できず、すべての増分自動リフレッシュ・キャッシュ・グループがレプリケートされる場合、メタデータへの更新は、キャッシュおよびレプリケーション・エージェントが開始されるまで、自動的に延期されます。 |
| TT_REPDUP_DEFERCACHEUPDATE | キャッシュおよびレプリケーション・エージェントが開始され、エージェントがOracle Databaseに接続できるまで、Oracle Databaseに格納されているメタデータの更新を強制的に延期します。このオプションを使用すると、増分キャッシュ・グループの一部がレプリケートされない場合、またはttRepDuplicateExを使用して新しいレプリケーション・スキームまたは変更したレプリケーション・スキームをノードに適用する場合に、完全な自動リフレッシュが行われます。 |
例
データ・ストア・パス名がC:\dsns\payrollであるremote_payrollというリモートのTimesTen DSNのレプリカをlocal_payrollというローカルDSNに作成するには、次のように入力します。
ttUtilHandle utilHandle; int rc; ttRepDuplicateExArg arg; memset(&arg, 0, sizeof(arg)); arg.size = sizeof(ttRepDuplicateExArg); arg.flags = TT_REPDUP_REPSTART | TT_REPDUP_DELXLA; arg.localHost = "mylocalhost"; arg.uid="myuid"; arg.pwd="mypwd"; rc=ttRepDuplicateEx(utilHandle,"DSN=local_payroll","payroll","remotehost", &arg);
参照
次の組込みプロシージャの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の組込みプロシージャに関する項を参照してください。
「ttReplicationStatus」「ttRepPolicySet」「ttRepStop」「ttRepSubscriberStateSet」「ttRepSyncGet」「ttRepSyncSet」説明
ttBackup C関数またはttBackupユーティリティを使用して作成したバックアップから、接続文字列で指定したデータ・ストアをリストアします。データ・ストアがすでに存在している場合、ttRestoreはデータ・ストアを上書きしません。
TimesTenのバックアップおよびリストア機能の概要については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータ・ストアのコピー、移行、バックアップおよびリストアに関する項を参照してください。
必要な権限
インスタンス管理者が必要です。
構文
ttRestore (ttUtilHandle handle, const char *connStr, ttRestoreType type, const char *backupDir, const char *baseName, ttUtFileHandle stream, unsigned intflags)
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
handle |
ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr |
const char * | リストアするデータ・ストアについて記述する接続文字列を指定する、空文字で終了する文字列。 |
type |
ttRestoreType | ファイル・バックアップまたはストリーム・バックアップのいずれからデータ・ストアをリストアするかを指定します。有効な値は、次のとおりです。
|
backupDir |
const char * | TT_RESTORE_FILEの場合、バックアップ・ファイルが保存されるディレクトリを指定します。
TT_RESTORE_STREAMの場合、このパラメータは無視されます。 |
baseName |
const char * | TT_RESTORE_FILEの場合、backupDirパラメータで指定されたバックアップ・ディレクトリにあるバックアップ・ファイルのファイル接頭辞を指定します。
NULLを指定すると、バックアップ・ファイルのファイル接頭辞には、データ・ストアのODBC定義に設定された TT_RESTORE_STREAMの場合、このパラメータは無視されます。 |
stream |
ttUtFileHandle | TT_RESTORE_STREAMの場合、バックアップを読み取るストリームを指定します。
UNIXの場合は、 Windowsの場合は、 TT_RESTORE_FILEの場合、このパラメータは無視されます。アプリケーションで、このパラメータに対してTTUTIL_INVALID_FILE_HANDLEを渡すことができます。 |
flags |
unsigned int | 将来の使用のために予約されています。 0(ゼロ)を指定します。 |
例
payrollというDSNのデータ・ストアをC:\backupからリストアするには、次のように入力します。
ttUtilHandle utilHandle;
int rc;
rc = ttRestore (utilHandle, "DSN=payroll", TT_RESTORE_FILE,
"c:\\backup", NULL, TTUTIL_INVALID_FILE_HANDLE, 0);
参照
説明
TimesTenユーティリティ・ライブラリ環境ハンドルにメモリーを割り当て、アプリケーションで使用されるTimesTenユーティリティ・ライブラリ・インタフェースを初期化します。 アプリケーションでは、他のすべてのTimesTenユーティリティ・ライブラリ関数より前に、ttUtilAllocEnvをコールする必要があります。 また、TimesTenユーティリティ・ライブラリ・インタフェースを使用して処理を行う場合は、ttUtilFreeEnvをコールする必要があります。
必要な権限
ありません。
構文
ttUtilAllocEnv (ttUtilHandle *handle_ptr, char *errBuff, unsigned int buffLen, unsigned int *errLen)
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
handle_ptr |
ttUtilHandle * | TimesTenユーティリティ・ライブラリ環境ハンドルが返される記憶域へのポインタを指定します。 |
errBuff |
char * | エラー・メッセージがある場合に返される、ユーザーが割り当てるバッファ。返されるエラー・メッセージは、空文字で終了する文字列です。エラー・メッセージは、その長さがbuffLen-1を超えると、buffLen-1に切り捨てられます。このパラメータがNULLの場合、buffLenは無視され、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。 |
buffLen |
unsigned int | バッファerrBuffのサイズを指定します。このパラメータが0(ゼロ)の場合、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。 |
errLen |
unsigned int * | エラー・メッセージの実際の長さが返される、符号なし整数へのポインタ。NULLの場合、このパラメータは無視されます。 |
リターン・コード
ttUtilAllocEnvは、ttutillib.hで定義されている次のコードを返します。
| コード | 説明 |
|---|---|
| TTUTIL_SUCCESS | 成功時に返します。 |
これ以外の場合、tt_errCode.hに定義されているTimesTen固有のエラー・メッセージおよび対応するエラー・メッセージが、コール元によって提供されるバッファに返されます。
例
この例では、utilHandleという名前を使用して、TimesTenユーティリティ・ライブラリ環境ハンドルを割り当てて初期化します。
char errBuff [256]; int rc; ttUtilHandle utilHandle; rc = ttUtilAllocEnv (&utilHandle, errBuff, sizeof(errBuff), NULL);
参照
説明
TimesTenユーティリティ・ライブラリ環境ハンドルに関連付けられているメモリーを解放します。
アプリケーションでは、他のすべてのTimesTenユーティリティ・ライブラリ関数より前に、ttUtilAllocEnvをコールする必要があります。 また、TimesTenユーティリティ・ライブラリ・インタフェースを使用して処理を行う場合は、 ttUtilFreeEnvをコールする必要があります。
必要な権限
ありません。
構文
ttUtilFreeEnv (ttUtilHandle handle, char *errBuff, unsigned int buffLen, unsigned int *errLen)
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
handle |
ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
errBuff |
char * | エラー・メッセージが返される、ユーザーが割り当てるバッファ。返されるエラー・メッセージは、空文字で終了する文字列です。エラー・メッセージは、その長さがbuffLen-1を超えると、buffLen-1に切り捨てられます。このパラメータがNULLの場合、buffLenは無視され、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。 |
buffLen |
unsigned int | バッファerrBuffのサイズを指定します。このパラメータが0(ゼロ)の場合、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。 |
errLen |
unsigned int * | エラー・メッセージの実際の長さが返される、符号なし整数へのポインタ。NULLの場合、このパラメータは無視されます。 |
リターン・コード
ttUtilFreeEnvは、ttutillib.hで定義されている次のコードを返します。
| コード | 説明 |
|---|---|
| TTUTIL_SUCCESS | 成功時に返します。 |
| TTUTIL_INVALID_HANDLE | 無効なユーティリティ・ライブラリ・ハンドルが指定されている場合に返します。 |
これ以外の場合、tt_errCode.hに定義されているTimesTen固有のエラー・メッセージおよび対応するエラー・メッセージが、コール元によって提供されるバッファに返されます。
例
utilHandleというTimesTenユーティリティ・ライブラリ環境ハンドルを解放するには、次のように入力します。
char errBuff [256]; int rc; ttUtilHandle utilHandle; rc = ttUtilFreeEnv (utilHandle, errBuff, sizeof(errBuff), NULL);
参照
説明
TimesTen Cユーティリティ・ライブラリ関数(ttUtilAllocEnvおよびttUtilFreeEnvを除く)への最後のコールによって生成されたエラーおよび警告を取得します。
必要な権限
ありません。
構文
ttUtilGetError (ttUtilHandle handle, unsigned int errIndex, unsigned int *retCode, ttUtilErrType *retType, char *errbuff, unsigned int buffLen, unsigned int *errLen)
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
handle |
ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
errIndex |
unsigned int | TimesTenユーティリティ・ライブラリ・エラー配列から取得するエラーまたは警告レコードを指定します。有効な値は、次のとおりです。
|
retCode |
unsigned int * | tt_errCode.hで定義されているTimesTen固有のエラー・コードまたは警告コードを返します。 |
retType |
ttUtilErrType * | 返されたメッセージがエラーまたは警告のいずれであるかを示します。 有効な戻り値は、次のとおりです。
|
errBuff |
char * | エラー・メッセージがある場合に返される、ユーザーが割り当てるバッファ。返されるエラー・メッセージは、空文字で終了する文字列です。エラー・メッセージは、その長さがbuffLen-1を超えると、buffLen-1に切り捨てられます。このパラメータがNULLの場合、buffLenは無視され、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。 |
buffLen |
unsigned int | バッファerrBuffのサイズを指定します。このパラメータが0(ゼロ)の場合、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。 |
errLen |
unsigned int * | エラー・メッセージの実際の長さが返される、符号なし整数へのポインタ。NULLの場合、このパラメータは無視されます。 |
リターン・コード
ttUtilGetErrorは、ttutillib.hで定義されている次のコードを返します。
| コード | 説明 |
|---|---|
| TTUTIL_SUCCESS | 成功時に返します。 |
| TTUTIL_INVALID_HANDLE | 無効なユーティリティ・ライブラリ・ハンドルが指定されている場合に返します。 |
| TTUTIL_NODATA | エラー情報も警告情報も取得されない場合に返します。 |
例
payrollというDSNに対して、ttDestroyDataStoreをコールした後にすべてのエラー情報または警告情報を取得するには、次のように入力します。
char errBuff[256];
int rc;
unsigned int retCode;
ttUtilErrType retType;
ttUtilHandle utilHandle;
rc = ttDestroyDataStore (utilHandle, "DSN=PAYROLL", 30);
if ((rc == TTUTIL_SUCCESS)
printf ("Datastore payroll successfully destroyed.\n");
else if (rc == TTUTIL_INVALID_HANDLE)
printf ("TimesTen utility library handle is invalid.\n");
else
while ((rc = ttUtilGetError (utilHandle, 0,
&retCode, &retType, errBuff, sizeof (errBuff),
NULL)) != TTUTIL_NODATA)
{
...
...
}
注意
各TimesTen C関数は、アプリケーションからの1回のコールで、複数のエラーおよび警告を生成する可能性があります。これらのエラーおよび警告のすべてを取得するには、TTUTIL_NODATAが返されるまで、アプリケーションでttUtilGetErrorを繰り返しコールする必要があります。
参照
説明
TimesTen Cユーティリティ・ライブラリ関数(ttUtilAllocEnvおよびttUtilFreeEnvを除く)への最後のコールによって生成されたエラーおよび警告の数を取得します。 これらの各関数は、アプリケーションからの1回のコールで、複数のエラーおよび警告を生成する可能性があります。これらのエラーおよび警告のすべてを取得するには、TTUTIL_NODATAが返されるまで、アプリケーションでttUtilGetErrorを繰り返しコールする必要があります。
必要な権限
ありません。
構文
ttUtilGetErrorCount (ttUtilHandle handle, unsigned int *errCount)
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
handle |
ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
errCount |
unsigned int * | TimesTenユーティリティ・ライブラリへの最後のコール(ttUtilAllocEnvおよびttUtilFreeEnvを除く)によって生成されたエラーおよび警告の数を示します。 |
リターン・コード
ttUtilGetErrorCount関数は、ttutillib.hで定義されている次のコードを返します。
| コード | 説明 |
|---|---|
| TTUTIL_SUCCESS | 成功時に返します。 |
| TTUTIL_INVALID_HANDLE | 無効なユーティリティ・ライブラリ・ハンドルが指定されている場合に返します。 |
例
payrollというDSNに対してttDestroyDataStoreをコールした後に、エラーおよび警告のカウント情報を取得するには、次のように入力します。
int rc;
unsigned int errCount;
ttUtilHandle utilHandle;
rc = ttDestroyDataStore (utilHandle, "DSN=payroll", 30);
if (rc == TTUTIL_SUCCESS)
printf ("Datastore payroll successfully destroyed.\n")
else if (rc == TTUTIL_INVALID_HANDLE)
printf ("TimesTen utility library handle is invalid.\n");
else
{
rc = ttUtilGetErrorCount(utilHandle, &errCount);
...
...
}
注意
各TimesTenユーティリティ・ライブラリ関数は、アプリケーションからの1回のコールで、複数のエラーおよび警告を生成する可能性があります。これらのエラーおよび警告のすべてを取得するには、TTUTIL_NODATAが返されるまで、アプリケーションでttUtilGetErrorを繰り返しコールする必要があります。
参照
説明
指定したトランザクションIDによって示されたトランザクションをロールバックします。 ttXactIdRollbackの対象ユーザーは、ttXactAdminユーティリティです。 ただし、他のスレッドの処理をロールバックできるスレッドを持つプログラムでは、処理を開始する前にそれらのスレッドで組込みプロシージャttXactIdGetをコールし、ロールバックを行うスレッドによって認識される場所にその結果を配置する必要があります。
必要な権限
ADMINが必要です。
構文
ttXactIdRollback (ttUtilHandle handle, const char* connStr, const char* xactId)
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
handle |
ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr |
const char** | ロールバックするトランザクションが含まれているデータ・ストアの接続文字列。 |
xactId |
const char * | ロールバックするトランザクションのトランザクションID。 |
例
payrollというデータ・ストアでIDが3.4567のトランザクションをロールバックするには、次のように入力します。
char errBuff [256];
int rc;
unsigned int retCode;
ttUtilErrType retType;
ttUtilHandle utilHandle;
...
rc = ttXactIdRollback (utilHandle, "DSN=payroll", "3.4567");
if (rc == TTUTIL_SUCCESS)
printf ("Transaction ID successfully rolled back.\n");
else if (rc == TTUTIL_INVALID_HANDLE)
printf ("TimesTen utility library handle is invalid.\n");
else
while ((rc = ttUtilGetError (utilHandle, 0, &retCode,
&retType, errBuff, sizeof (errBuff), NULL)) != TTUTIL_NODATA)
{
...
}