0

私のアプリケーション (テストケース自動化ツール) は、ODBC のSQLSetStatmentOptionの呼び出しをサポートしていません。カーソル オプションSQL_SOPT_SS_CURSOR_OPTIONS を SQL_CO_FFO_AFに設定する必要があります。現在、接続文字列 (DSN なし) を使用してサーバーに接続しています。sqlsrv32.dll または Sqlncl10.dllを使用しています。

ツールと MSSQL サーバーの間の DSN (または他のレイヤー) でカーソル オプションを設定する方法はありますか? このツールは、カーソル (または結果セット) の作成と結果セットの反復処理を処理します。SQLSetConnectAttr() を呼び出すことはできますが、私が知る限り、そこにカーソルオプションを設定する方法はありません。

これはすべて、リモート接続を介したデータの取得を高速化するための試みです。SQL Management Studio では、ローカルまたはリモートの DB と同等の応答時間が得られますが、自動化ツールでは、おそらくすべての行でサーバーへの往復を行っているように見えるため、リモート クエリに数百倍の時間がかかります。

4

1 に答える 1

0

私が知っている接続文字列にステートメント オプションを設定する方法はありません。ODBC 1.0 および 2.0 では、ステートメント属性の SQLSetConnectOption を呼び出すことができ、その接続で作成された各ステートメントでそれらの属性を設定しますが、a) API の古いバージョンです (おそらくまだ動作します) b) まだできませんDSNから。unixODBC では、DSN でいくつかの環境および接続属性を設定できますが、明らかに Windows.

いずれにせよ、あなたが問題を正しく特定したとは確信していません。たとえあったとしても、アプリが SQLGetData を使用していないことをどうやって知ることができますか (SQL_CO_FFO_AF を設定すると無効になります)。MAR を有効にしていないことを確認します。ODBC トレースを取得して、アプリの動作を確認しましたか?

于 2012-10-19T08:00:04.137 に答える