ASP.NET和SQL Server 2005连接出现的错误以及解决办法
2010-01-09 14:55
676 查看
我才开始看ASP.NET与数据库的连接,今天一开始就一连遇到三个问题,折腾了一晚上...希望我查到的资料对大家有用。
最初我写的语句是:
//Create the Connection
//SqlConnection conn = new SqlConnection(@"Data Source=(local)/NetSDK; Initial Catalog=Northwind; User ID = sa; password = yourPassword;");
上面这个语句是照书上打的,看来是这个Data Source给我带来的麻烦...上面那个@是用来忽略/的,大家按照自己的喜好看加不加它吧。
我发现最终问题一方面出在了我的ASP.NET与SQL的连接语句上,另一方面出在了SQL的数据库设置上。
我最终修改正确的语句为:
//Create the Connection
//SqlConnection conn = new SqlConnection("Data Source=myComputer//SQLEXPRESS; Initial Catalog=Northwind; User ID = sa; password = yourPassword;");
我出现的三个错误是:
错误一:SQL网络接口, error: 26-定位指定的服务器/实例时出错
错误二:在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
错误三:Login failed for user "myComputer/ASPNET".
对于错误一,我参考了以下网页:
http://wenda.tianya.cn/wenda/thread?tid=1c5966b7cc13190e
http://hi.baidu.com/%B0%A2%D7%F3/blog/item/008aeec4a80373ae8226ac85.html
貌似有网友用这个方法解决了问题,不过对于我来说这是仍然没有解决。
不过要特别说明的是:从我的电脑->右键进入“计算机管理”的服务和应用程序->SQL Server 2005配置中的SQL Server 2005网络配置。其中对于TCP/IP和Named Pipes一定都要启用。另外,由于参考的资料上有说到将TCP/IP的IP选项卡里的所有项全部启用,我就照做了。不过问题没有解决。
另外,我需要用到Northwind数据库,而下的SQL Server 2005中没有Northwind和Pubs,大家可以到网上搜SQL2000SampleDb.msi进行下载,把他们恢复到数据库里就行了。我也下载了SQL Server 2005的sample,不过不知道为什么仍然没有Northwind和Pubs,所以用2000的就好了,没有什么区别。
之后,我发现不能在Data Source里用(local)/NetSDK这句话,因此就改成了(local)或(localhost),这是终于没有了可恶的error26,而是错误二error40。
这个错误还是由于Data Source的名称不正确引起的。请大家到企业管理器里去看自己的SQL Server名称,把它填到这里。我记得我以前在学校的机子上有用过localhost的,不过不知道自己的机器上为什么不行,那么把SQL Server的名称填上好了。就这样,错误二解决了。
之后,我遇到了错误三。
我参考了这个网页,太感谢了:)
http://weblogs.asp.net/coltk/archive/2003/07/10/9920.aspx
具体解决方法是:在企业管理器里,为我要访问的Northwind建立一个新用户myComputer/ASPNET,为他设定一个最弱的权限,比如,db_datareader. 注意,我们一般的数据库访问身份验证都是两种方式,使用windows验证和用户名/密码验证,所以你最好这样设定一下。
终于解决了这三个错误,并且成功看到了我要的数据=D。不过,我拿不准这种解决办法是不是能够根除问题,如果以后还遇到类似的问题,会再总结发上来。
最初我写的语句是:
//Create the Connection
//SqlConnection conn = new SqlConnection(@"Data Source=(local)/NetSDK; Initial Catalog=Northwind; User ID = sa; password = yourPassword;");
上面这个语句是照书上打的,看来是这个Data Source给我带来的麻烦...上面那个@是用来忽略/的,大家按照自己的喜好看加不加它吧。
我发现最终问题一方面出在了我的ASP.NET与SQL的连接语句上,另一方面出在了SQL的数据库设置上。
我最终修改正确的语句为:
//Create the Connection
//SqlConnection conn = new SqlConnection("Data Source=myComputer//SQLEXPRESS; Initial Catalog=Northwind; User ID = sa; password = yourPassword;");
我出现的三个错误是:
错误一:SQL网络接口, error: 26-定位指定的服务器/实例时出错
错误二:在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
错误三:Login failed for user "myComputer/ASPNET".
对于错误一,我参考了以下网页:
http://wenda.tianya.cn/wenda/thread?tid=1c5966b7cc13190e
http://hi.baidu.com/%B0%A2%D7%F3/blog/item/008aeec4a80373ae8226ac85.html
貌似有网友用这个方法解决了问题,不过对于我来说这是仍然没有解决。
不过要特别说明的是:从我的电脑->右键进入“计算机管理”的服务和应用程序->SQL Server 2005配置中的SQL Server 2005网络配置。其中对于TCP/IP和Named Pipes一定都要启用。另外,由于参考的资料上有说到将TCP/IP的IP选项卡里的所有项全部启用,我就照做了。不过问题没有解决。
另外,我需要用到Northwind数据库,而下的SQL Server 2005中没有Northwind和Pubs,大家可以到网上搜SQL2000SampleDb.msi进行下载,把他们恢复到数据库里就行了。我也下载了SQL Server 2005的sample,不过不知道为什么仍然没有Northwind和Pubs,所以用2000的就好了,没有什么区别。
之后,我发现不能在Data Source里用(local)/NetSDK这句话,因此就改成了(local)或(localhost),这是终于没有了可恶的error26,而是错误二error40。
这个错误还是由于Data Source的名称不正确引起的。请大家到企业管理器里去看自己的SQL Server名称,把它填到这里。我记得我以前在学校的机子上有用过localhost的,不过不知道自己的机器上为什么不行,那么把SQL Server的名称填上好了。就这样,错误二解决了。
之后,我遇到了错误三。
我参考了这个网页,太感谢了:)
http://weblogs.asp.net/coltk/archive/2003/07/10/9920.aspx
具体解决方法是:在企业管理器里,为我要访问的Northwind建立一个新用户myComputer/ASPNET,为他设定一个最弱的权限,比如,db_datareader. 注意,我们一般的数据库访问身份验证都是两种方式,使用windows验证和用户名/密码验证,所以你最好这样设定一下。
终于解决了这三个错误,并且成功看到了我要的数据=D。不过,我拿不准这种解决办法是不是能够根除问题,如果以后还遇到类似的问题,会再总结发上来。
相关文章推荐
- 在web host 的DotNetNuke中添加连接时出现的错误及解决办法
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3
- 在创建从 ASP.NET 到 SQL Server 的受信任数据连接时出现错误消息:“Login failed for user:'AccountName'”(用户 'AccountName' 登录失败)
- 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 错误解决办法
- Asp.Net 连接Oracle数据库 出现"找到 Oracle 客户端和网络组件" 的解决方法!(在win2003 ntfs 下IIS发布只显示登陆界面 不进入系统解决办法)
- 在使用ASP.NET网站管理工具出现“遇到错误。请返回上一页并重试。”的解决办法!
- sql server 2005 删除数据库出现"因为它正用于复制"的错误解决办法
- win7 ASP.NET 安全选项卡无法打开(无法连接到 SQL Server 数据库)的解决办法
- 安装Visual Studio.net 2005 SP1出现错误 1718 的解决办法
- Sql Server 2014/2012/2008/2005 数据库还原出现 3154错误的解决办法
- SQL Server 2008建立连接时出现与网络相关的或特定于实例的错误的解决办法
- .NET浏览ASP.NET页面时出现This application is currently offline. To enable the application, remove...错误的解决办法
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3
- Asp.net 2.0 页面出现“未能加载视图状态...”错误的解决办法(作者:海雅)
- 安装SQL Server 2005 时出现性能计数器要求安装错误的解决办法
- SqlMetal 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误 (error: 26 - 定位指定的服务器/实例时出错) SQL SERVER 2008解决办法
- 安装 SQL Server 2005 时出现性能计数器要求安装错误的解决办法
- iis6.0添加asp.net 3.5网站 出现“HTTP 错误 404 - 文件或目录未找到”的解决办法