Linuxでacプログラムを作成して、oracle DBに接続し、oracle pro/cを使用してストアドプロシージャを実行しています。私の問題は、このプロシージャを呼び出すためのタイムアウトを作りたいということです。その後、TIME_OUT エラーとしましょう (できれば、このエラーは pro/c から返されます) で制御を取り戻します。プリコンパイラオプション付き??
私の .pc ファイルには次のようなものが含まれます
bool connectToDb() {
/*variables declaration and assigning*/
EXEC SQL CONNECT :local_username IDENTIFIED BY :local_password USING :local_connectionString; // to connect to DB
/*error handling*/
}
そして、たとえば 30 秒間スリープするテスト プロシージャを呼び出します。そして、タイムアウトを作成したいのですが、5秒後に5秒と言って、タイムアウトを示すエラー(ORAエラー)を返す必要があります
bool callProcedure() {
/*variables declaration and assigning*/
EXEC SQL CALL SLEEP_TEST(); //this line that I don't want to be blocked
/*errors handling*/
}
注:すべてのエラーは次を使用して処理します
EXEC SQL WHENEVER SQLERROR GOTO SQLError;
/*my sql logic*/
goto EndOf_function;
SQLError:
/*Error handling portion that I want to catch the timeout*/
EndOf_function:;
助言がありますか??