初学ASP.NET 和sql server 2005,很多东西不熟悉。
在初次使用MediaShareLibrary demo时,sql server总是连接不上,报错SQL Network error 26。
具体为:
provider: SQL Network Interfaces, error : 26 – Error Locating Server/Instance Specified
其实这个问题似乎很明白,sql server的位置没有指定正确。去网上找了很多办法,也尝试了各种connectionString,都无济于事。
转机:
在偶然看msdn时,发现这样一篇文章:将 ASP.NET 2.0 应用程序服务配置为使用 SQL Server 2000 或 SQL Server 2005 。里面提到Sql Server Express。
我的Sql Server Express被我误删了。而MediaShareLibrary 需要用到和membership有关的一些数据库。
解决办法:
1。按照将 ASP.NET 2.0 应用程序服务配置为使用 SQL Server 2000 或 SQL Server 2005 里的步骤,建立一个新的数据库,并配置为可以被membership使用。结果是数据库中多了许多aspnet_开头的表。
2。修改连接字符串。
添加
<remove name=”LocalSqlServer”/>
<add name=”LocalSqlServer” connectionString=”Data Source=allen/dev2005;Initial Catalog=Test;Integrated Security=True” providerName=”System.Data.SqlClient”/>
以上两步的具体步骤在将 ASP.NET 2.0 应用程序服务配置为使用 SQL Server 2000 或 SQL Server 2005 都有。大家可以参考那里。我这里就步赘述。
小结:
sql server express是ASP.NET 2。0一些特性默认的数据库,如果不存在就出现SQL Network error 26了。
这个只是SQL Network error 26的一种可能。实际上有很多原因都可能导致SQL Network error 26,遇到了再把解决方案写成blog吧。