当前位置: 代码迷 >> ASP.NET >> 装了Microsoft SQL Server 2005后数据库连接有关问题
  详细解决方案

装了Microsoft SQL Server 2005后数据库连接有关问题

热度:8271   发布时间:2013-02-26 00:00:00.0
装了Microsoft SQL Server 2005后数据库连接问题!
vs.net   2005   未装   Microsoft   SQL   Server   2005   前连接.mdf文件正常,
装了之后,无法连接,出现经典错误:“在建立与服务器的连接时出错。在连接到   SQL   Server   2005   时,在默认的设置下   SQL   Server   不允许进行远程连接可能会导致此失败。   (provider:   SQL   网络接口,   error:   26   -   定位指定的服务器/实例时出错)   ”
ASP.NET   配置也通不过,建立不了连接。

连接字串类似于这样:
<add   name= "sqlConnectionString "
                    connectionString= "Data   Source=.\SQLEXPRESS;  
                    AttachDbFilename=I:\Website\AME\App_Data\NORTHWND.MDF;  
                    Integrated   Security=True;   User   Instance=True "
                    providerName= "System.Data.SqlClient "   />

注:已开启:同时使用TCP/IP和named   pipes!!!!



------解决方案--------------------------------------------------------
可能的解决方法:
1。该用户有登录权限。
2。server如果开了firewall,在exceptions里添加1433 port
3。配置工具-> sql server外围应用配置器-> 服务和连接的外围应用配置器-> 打开MSSQLSERVER节点下的Database Engine 节点,先择 "远程连接 ",接下建议选择 "同时使用TCP/IP和named pipes ",确定后,重启数据库服务

------解决方案--------------------------------------------------------
1、 防火墙;
2、1433端口;
来排除故障,但今天发现有以下情况同样会造成这个现象。
排除过程:
1、检查防火墙设置和1433端口设置正确;
2、如果出现“找不到网络路径”的报错,那么最好先PING一下它的IP地址。如果PING不通,那么需要先确认它是否连在网络或者网络连通性是否正常。然后查看是否启用了防火墙或者屏蔽掉了相应的端口。如果PING IP地址是正常的,但PING目标机器的计算机名不通,则需要查看是事网络名称解析有问题。关于如何诊断名称解析问题,可以先查看是所有客户端机器有问题还是某一台机器有问题。如果是所有机器的名称解析都有问题,那么你需要到网络的DNS或WINS服务器上检查了。如果只是某一台机器有问题,你需要先检查一下hosts和lmhosts文件;如果正常,可以重新注册一下DNS名字(ipconfig/reisterdns)。
----正常;

3、如果出现“xxx计算机无法访问,您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限”的报错,这可能是计算机的安全设置被改动过了,导致目标计算机无法被访问。可以采取以下步骤解决:
---存在这个问题,通过以下方法来解决

a. 打开“我的电脑”,在菜单上选择“工具”-> “文件夹选项”-> “查看”,清除“使用简单文件共享(推荐)”的选择。

b. 右键点击“我的电脑”,选择“管理”,选择“本地用户和组”-> “用户”,右键点击Guest用户,选“属性”,清除“帐户已停用”的选择。

c. 点击“开始”-> “运行”,输入secpol.msc,选择左边的“本地策略”-> “用户权力指派”,双击右边的“从网络访问此计算机”,保证其中有Everyone,双击左边的“拒绝从网络访问此计算机”,保证其是空的。

d. 选择左边的“本地策略”-> “安全选项”,a.确认右边的“网络访问:本地帐户的共享与安全模式”为“经典”;b.确认右边的“Microsoft网络客户:为通讯启用数字签名(总是)”为“已停用”;c.确认右边的“Microsoft网络客户:为通讯启用数字签名(如果服务器允许)”为“已启用”;d.确认右边的“Microsoft网络服务器:为通讯启用数字签名(总是)”为“已停用”;e.确认右边的“Microsoft网络服务器:为通讯启用数字签名(如果服务器允许)”为“已启用”。

4、用ODBC连接,结果一切OK。

------解决方案--------------------------------------------------------
连接到 SQL Server 2005 时出现的问题
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
解决方法:

你可能连接的数据库是SQL Server 2005 Express Edition,从 "开始菜单 "调出 "配置工具 "中的 "SQL Server 外围应用配置器 ".然后单击 "服务和连接外围应用配置器 ",选择数据库实例(默认是 "SQLEXPRESS ",选择database Engine的 "远程连接 "中的 "本地连接和远程连接(用TCP/IP) ",这样即可打开SQL Server 2005的远程连接(默认不允许).
其实你可以
配置文件:
<connectionStrings>
<add name= "testDBConnectionString " connectionString= "Data Source=.\SQLEXPRESS;AttachDbFilename=D:\wwwroot\sszTest1\App_Data\testDB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True " providerName= "System.Data.SqlClient "/>
</connectionStrings>
程序调用时:
SqlConnection sqlCon = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings[ "testDBConnectionString "].ToString());//testDBConnectionString
  相关解决方案