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 回答