今天按北大青鸟于海涛老师的视频做实例的时候,运行时碰到了这样的问题:
在建
立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 。
同时显示的程序没有什么错误及警告,问题提示的地方在我连接数据库的con.Open();那地方。就在网上找了找如何设置远程连接,步骤如下:
- 在您要从远程计算机连接到的 SQL Server 实例上启用远程连接。
- 打开 SQL Server Browser 服务。
- 配置防火墙以允许与 SQL Server 和 SQL Server Browser 服务相关的网络通讯。
loadTOCNode(2, 'moreinformation'); 必须为要从远程计算机连接到的每个 SQL Server 2005 实例启用远程连接。为此,请按照下列步骤操作:
- 开始→程序→Microsoft SQL Server 2005→配置工具→SQL Server 外围应用配置器”。
- 在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。
- 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“远程连接”和“本地连接和远程连接”,单击适用于您的环境的相应协议,然后单击“应用”。
注意:请在接收到以下消息时单击“确定”: - 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“服务”和“停止”,等待 MSSQLSERVER 服务停止,然后单击“启动”以重新启动 MSSQLSERVER 服务。
重要说明:这些步骤可能会增加您的安全风险。这些步骤还可能导致您的计算机或网络更易于受到恶意用户或恶意软件(如病毒)的攻击。我们之所以推荐本文介绍的这一过程,是为了使程序能够按照设计意图运行,或者为了实现特定的程序功能。我们建议在进行这些更改之前,充分考虑在您的特定环境中实施这一过程可能带来的风险。如果您选择实施此过程,请采用任何适当的附加步骤以保护您的系统。我们建议只有确实需要这一过程时才使用它。
- 开始→程序→Microsoft SQL Server 2005→配置工具→SQL Server 外围应用配置器”。
- 在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。
- 在“服务和连接的外围应用配置器”页上,单击“SQL Server Browser”,在“启动类型”中单击“自动”选项,然后单击“应用”。
注意:在单击“自动”选项后,每次启动 Microsoft Windows 时将自动启动 SQL Server Browser 服务。 - 单击“启动”,然后单击“确定”。
- SQL Server Browser 服务
- 连接到 SQL Server 数据库引擎
- 客户端网络配置在 Windows 防火墙中创建例外
这些步骤适用于 Windows XP Service Pack 2 (SP2) 和 Windows Server 2003 中包含的 Windows 防火墙版本。如果您使用的是不同的防火墙系统,请参阅相应的防火墙文档以了解更多信息。
如果在运行 SQL Server 2005 的计算机上运行防火墙,将会阻止访问 SQL Server 2005 的外部连接,除非 SQL Server 2005 和 SQL Server Browser 服务可以通过防火墙进行通信。必须为每个要接受远程连接的 SQL Server 2005 实例创建一个例外,并为 SQL Server Browser 服务创建一个例外。
在安装 SQL Server 2005 的程序文件时,SQL Server 2005 会使用一个实例 ID 作为路径的一部分。若要为每个 SQL Server 实例创建一个例外,必须确定正确的实例 ID。若要获取实例 ID,请执行以下步骤:
- 单击“开始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后单击“SQL Server 配置管理器”。
- 在“SQL Server 配置管理器”中,单击右窗格中的“SQL Server Browser 服务”,右键单击主窗口中的实例名称,然后单击“属性”。
- 在“SQL Server Browser 属性”页上,单击“高级”选项卡,定位到属性列表中的实例 ID,然后单击“确定”。
- 在 Windows 防火墙中,单击“例外”选项卡,然后单击“添加程序”。
- 在“添加程序”窗口中,单击“浏览”。
- 单击 C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/Binn/sqlservr.exe 可执行程序,单击“打开”,然后单击“确定”。
注意:上述路径可能会根据 SQL Server 2005 的安装位置而不同。MSSQL.1 这个占位符代表的是您在前面过程的步骤 3 中获得的实例 ID。 - 对于每个需要为其创建例外的 SQL Server 2005 实例,重复步骤 1 到步骤 3。
- 在 Windows 防火墙中,单击“例外”选项卡,然后单击“添加程序”。
- 在“添加程序”窗口中,单击“浏览”。
- 单击 C:/Program Files/Microsoft SQL Server/90/Shared/sqlbrowser.exe 可执行程序,单击“打开”,然后单击“确定”。
最后配置之后,运行的时候就发现还是原来的毛病,说是超时时间已到。在操作完成之前超时时间已过或服务器未响应。我问了一个老师,需不需要修改服务器连接时间,他说极有可能是连接字符串出错,我也没发现到底哪里出错了,正在研究中,待续。。。。