0

OpenEdge Progress ドライバーを介して PHP ODBC メソッドを使用してデータベースを照会する必要があるプロジェクトに取り組んでいます。MySQL クエリのタイムアウトを設定する方法が必要なので、デフォルト設定よりもはるかに短くなります (存在する場合)。

以下のステートメントの例のように、「odbc_setoption($stmt, 2, 0, 30)」を使用してみました...

  $stmt = odbc_prepare($this->odbc, $query);
  odbc_setoption($stmt, 2, 0, 30);//Set query timeout to 30 seconds.
  return odbc_execute($stmt);

しかし、クエリ タイムアウトのオプションとして「0」がサポートされていないため、これは失敗しました。番号を認識していません。データベース接続の DSN 文字列やレジストリ経由で設定するなど、あらゆることを試しました。PHP の変数名やオプション番号に関するアイデアはありますか? こんなの誰も使ってない…

ありがとう

4

2 に答える 2

2

SQLスクリプトでタイムアウトを直接設定できます。

現在の接続の場合:

SET PRO_CONNECT QUERY_TIMEOUT n ; 

データベースが実行されるまで:

SET PRO_SERVER QUERY_TIMEOUT n ;

http://documentation.progress.com/output/OpenEdge102b/pdfs/dmsrf/dmsrf.pdf 58 ページ

しかし、それはおそらくあなたを知っています;)

于 2012-04-19T19:09:44.047 に答える
0

ネイティブ php odbc サポートを使用する代わりに、ADOdbを使用してみましたか?

于 2012-04-19T01:54:48.033 に答える