今天调试了一个ASP.NET2.0的程序,程序原本是用的微软的SQL Express版本,我就将它该承了我机器上的SQL Server2005企业版,并且将连接字符串也修改了。但是在连接字符串中保留了一个User Instance=True这个选项设置。结果程序死活都不走,会报一个错误:
Exception Details: System.Data.SqlClient.SqlException: The user instance login flag is not supported on this version of SQL Server. The connection will be closed.
我刚开始将这个保留的设置修改为False,但是还不行,说登录数据库失败。最后我查了文档才知道原来精简版本的SQL服务器和完全版的有些差别,就是user instance ,这个只有在精简版中才有,如果你的项目开始是用的精简版,以后要迁移到完全版的SQL上,就会出现上述错误,这个时候需要用ASPNET_REGSQL命令重新设置一下aspnetdb数据库,比且将连接字符串指向这个数据库。
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer" connectionString="Data Source=.;Integrated Security=True;Initial Catalog=aspnetdb" providerName="System.Data.SqlClient" />
这样就应该没问题了,希望这篇文章对受到这个问题困扰的朋友能起到帮助。