2

freetds 経由で MS SQL Server 10.50 に接続する単純な Perl スクリプトがあります。のような単一のクエリを実行しますSELECT name FROM table。テーブルには約 15000 のレコードがあります。準備-実行(バインドなし)-フェッチ(whileループ内)を行います。準備、実行は OK に合格し、約 300 レコードを超えるフェッチ ループがハングし、最終的に「サーバーからの読み取りに失敗しました」というメッセージが表示されます。詳細に:

DBD::Sybase::st fetchrow_array failed: OpenClient message: LAYER = (0) ORIGIN = (0) SEVERITY = (78) NUMBER = (36)
Server ....., database ...
Message String: Read from the server failed

freetds.conf の「tds バージョン」は 4.2 に設定されています。7.0、7.1、または 7.2 を使用しようとすると、スクリプトは「実行」ステップを通過しません。

のように結果を制限するようにクエリを変更するとSELECT TOP 200 name FROM table、問題なく終了します。

誰かがそのようなものを見たことがありますか?

4

0 に答える 0