SQLServer 2005select语句工作,更新语句不

我将不胜感激任何想法。 这让我们非常困惑。 这个问题似乎是环境问题,所以我们要在其他地方主持这个过程,但是我不知道为什么会有这个问题,这让我发疯。 关键的奥秘是select工作,但更新不。

  • 在专用networking内的MS SQL Server 2005。
  • 2003 DMZ中的服务器.Net 2.0 IIS服务器
  • 两个端口之间的1433端口是开放的。 (testing打开所有端口创build相同的结果。)
  • 软件防火墙都被禁用。
  • SQLpipe理控制台在连接上出现相同的错误。
  • 私人networking和DMZ其他地方的连接工作。
  • 过程工作多年,然后在17日停止。 唯一可见的区别是IE8 KB更新。

我们正在收到错误:

A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - The specified network name is no longer available.) 

连接打开工作没有错误。 连接string正在传递数据库的服务器和实例。 创build一个具有相同结果的新用户。 如果指定了错误的用户,则返回无效的用户响应。

使用System.Data.SqlClient.SqlConnection – select语句工作 – ExecuteScaler()和ExecuteReader() – 更新语句给出上述错误 – ExecuteNonQuery()

使用ODBC适用于select和更新。

SQL跟踪显示select命令,但不显示SQLConnection更新命令。

假设问题是DNS相关的,我们也用IP地址replace了服务器名称。 同样,命名和IP连接都允许select而不是更新。

从IIS计算机尝试使用SQLpipe理控制台时,SQL跟踪会显示一些对话框启动,然后pipe理控制台会提供相同的传输错误。 所以这似乎不是与IIS的问题。

谢谢,

玩笑

尝试强制连接string使用TCP / IP和所需的端口:

 tcp:servernameorIP\instanceName,1433 

参考文献:

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx