0

今日、Ruby on Rails アプリケーションとリモートのレガシーSQL Server 2005データベースの間で通常より多くのアクティビティが発生し、以下のエラーが断続的に発生し始めました。とは何ですか?どうすればそれを防ぐことができますか (私たちが取り組んでいる状況を回避する以外に)?

エラーメッセージ:

ActiveRecord::StatementInvalid: DBI::DatabaseError: 08S01 (20020) [unixODBC][FreeTDS][SQL Server] サーバーからの不正なトークン: データストリーム処理が同期していません: SELECT * FROM [marketing] WHERE ([marketing].[contact_id] ] = 832085)

4

3 に答える 3

1

ある種の接続プーリングを使用する必要があります。

Windows 自体 (Windows Server X を含む) は、たとえそれらを閉じたとしても、特定の時間枠内で特定の数のソケット接続のみを作成することを許可します。その後、他のすべては失敗します。

接続プールは同じソケットを開いたままにして、問題を回避します。また、新しい接続は本当に遅いです。

于 2011-03-21T16:24:59.067 に答える
0

このマイクロソフトの記事には次のように書かれています。

多くの場合、ネットワーク接続が突然終了したことが原因で、破損した表形式データ ストリーム トークンがクライアントによって読み取られます。

サーバーネットワークはバインドされていましたか? SQL Server の経験はありませんが、作成できる接続数に制限はありますか?

于 2009-11-13T02:47:15.927 に答える
-1

以下をスクリプトに追加します。最初に実行するステートメント:

SET NO_BROWSETABLE OFF
于 2016-07-27T15:18:03.017 に答える