当前位置:编程学习 > asp >>

不知道为什么在本机调试asp程序时 总是提示连接不上数据库。(我的sql server 服务已经全部打开)

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
答案:
1. 确保服务器端的数据库中存在sa,并支持混合登录模式.默认安装的时候,可能会忽略建立sa. 

2. 确保服务器端的数据库是支持远程调用的.打开SQL Server Management Studio,选择该数据库,右键菜单"Properties",在打开的对话框中选择Connections,把Allow remote connections to this server选上.

3. 确保服务器端的SQL服务的TCP/IP是Enable的.打开SQL Server Configuration Manager. 选择SQL Server 2005 Network Configuration下的Protocols for SQL2005( 我安装的SQL示例名为SQL2005), 把Named Pipes和TCP/IP都修改为Enabled,默认是Disabled.

4. 确保服务器端的SQL实例的远程调用是支持TIP/IP和named pipes的. 打开SQL Server Surface Area Configuration Manager,在打开的页面中选择Surface Area Configuration for Services and Connections.选中实例的Remote Connections,把Using both TCP/IP and named pipes选中.

5. 重启服务器端的SQL Server 2005服务,确保SQL Server Agent和SQL Server Browser的服务也启动了. 默认都是需要手动启动,可以改成Automatic.

6. 因为服务器端的操作系统是WinXp+SP2,所以还需要检查防火墙.确保防火墙中的1433端口打开了.

另外, SQL Server 2005的默认端口可能不是1433. 我们需要手动修改一下. 打开SQL Server Configuration Manager. 选择SQL Server 2005 Network Configuration下的Protocols for SQL2005( 我安装的SQL示例名为SQL2005), 查看TCP/IP的属性.在打开的对话框中选择IP Address, 把到IPAll下的TCP Dymanic Ports改为0,TCP Port的值修改为1433.

在Windows防火墙中的Exceptions中Add Port:TCP 1433和UDP 1434, 同时还需要Add Program.先打开SQL Server Configuration Manager,在SQL Server 2005 Services中选中SQL Server,查看属性,在Advanced中记下Instance ID.如(MSSQL.1)

在防火墙的Exceptions中Add Program,找到诸如...\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe,添加.

所有这些都做完了,客户端应该就可以访问了,最好客户端也在自己的Configration Manager的Client Configuration中设置TCP/IP为Enabled.
你应该先分离数据库然后,把SQL 2005关了...
在开始..程序,,Microsoft SQL Server 2005,,配置工具,,SQL Server Configuration Manager,,打开之后..把那几个服务运行...
注意..必须先运行那些服务再打开SQL 2005再附加数据库才起作用的..
如果先打开SQL 2005再运行那些服务是不行的...

上一个:asp.net 服务器应用程序不可用
下一个:ASP程序中如下表达式month(usr_news(3,i))&"-"&day(usr_news(3,i))

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,