2006-10-10

SQL Server连接失败错误分析与排除

来源: 本站收集整理 作者:佚名 评论 0 条
 

  三、提示连接超时


(图6)

  假如碰到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于答应的时间而导致出错。这种情况比较少见,一般发生在当用户在Internet上运行企业治理器来注册另外一台同样在Internet上的服务器,并且是慢速连接时,有可能会导致以上的超时错误。有些情况下,由于局域网的网络问题,也会导致这样的错误。

  要解决这样的错误,可以修改客户端的连接超时设置。默认情况下,通过企业治理器注册另外一台SQL Server的超时设置是 4 秒,而查询分析器是 15 秒。

  具体步骤为:

  企业治理器中的设置:

  1、在企业治理器中,选择菜单上的"工具",再选择"选项";

  2、在弹出的"SQL Server企业治理器属性"窗口中,点击"高级"选项卡;

  3、在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如 30。

  查询分析器中的设置:

  单击“工具”->"选项"->"连接"; 将登录超时设置为一个较大的数字,连接超时改为0。

  四、应用程序连接失败

  以上的三种错误信息都是发生在 SQL Server 自带的客户端工具中,在应用程序中我们也会碰到类似的错误信息,例如:

Microsoft OLE DB Provider for SQL Server (0x80004005)
[DBNETLIB][ConnectionOpen (Connect()).]Specified SQL server not found.
Microsoft OLE DB Provider for SQL Server (0x80004005)

  用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'.
[Microsoft][ODBC SQL Server Driver]超时已过期.

  假如碰到连接超时的错误,我们可以在程序中修改 Connection 对象的超时设置,再打开该连接。例如:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSNtest="DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=mydatabase"
Conn. Properties("Connect Timeout") = 15 '以秒为单位
Conn.open DSNtest
%>

  假如碰到查询超时的错误,我们可以在程序中修改 Recordset 对象的超时设置,再打开结果集。例如:


(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:了解SQL Server 2005五个有用的动态管理对象  
下一篇:SQL Server 2005的XML数据修改语言
    评论加载中…
Dim cn As New ADODB.Connection
Dim rs As ADODB.Recordset
. . .
cmd1 = txtQuery.Text
Set rs = New ADODB.Recordset
rs.Properties("Command Time Out") = 300
'同样以秒为单位,假如设置为 0 表示无限制
rs.Open cmd1, cn
rs.MoveFirst
. . .
共4页: 上一页 [1] [2] 3 [4] 下一页
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号