此版本的 SQL Server 不支持用户实例登录标志。该连接将关闭。

moyifeng 2009-03-14 07:32:07
此版本的 SQL Server 不支持用户实例登录标志。该连接将关闭。
我用的是2005版本的,为什么会出现这个问题,该怎么解决?
...全文
2178 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cgc20xin 2009-10-15
  • 打赏
  • 举报
回复
相当不错,最近一个月也多次碰到这个问题,改掉WEBCONFIG就不去管了,现在详细了很多
指间的风 2009-03-17
  • 打赏
  • 举报
回复
解决“此版本的 SQL Server 不支持用户实例登录标志。该连接将关闭”问题,完整综合版。
导读:

这篇文章主要是我的心得和有关资料的链接。



一、找到这三篇文章的过程:

因为要使用sql server 2005的 ssis,所以我把安装vs2005时的sql server 2005 express删掉了重新安装了sql server 2005 development,安装完毕,使用ssis导入数据完毕之后,原来开发的程序不好用了。出现异常“此版本的SQL SERVER 不支持用户实例登录标志。该连接将关闭。 ”,上网搜一下,出来一堆。挑了其中一个图和文字都很多的试了一下,还是有问题。再找一个图文并茂的,试了一下,结果,新建的连接不出错,但是原来的连接却出错。对比一下代码,发现按照第二篇文章所说,新建的连接,已经设置成了False,但是原来的连接却是true。代码如下:

<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
<add name="ConnectionString2" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;User Instance=False"
providerName="System.Data.SqlClient" />
然后,手工把上面的User Instance=True改为False。问题解决了。

接下来,就是要把搜出来的一堆网页关闭了,忽然发现其中一个贴子,也提到了这一点,并且他还遇到了另外一个问题,也给出了解决的办法。

所以我就决定把这三篇文章都放到一起了。

二、总结

1、连接的前提:sa账号和tcp连接。

这是第一篇文章里面主要解决的问题。作者通过step to step图文并茂的介绍了,sa账号的启用和远程连接的设置,这是程序运行基础。

2、User Instance选项。

这是第二篇文章里面解决问题的钥匙。根据MSDN的解释,我的理解是,对是express版本的sql,可以允许非管理员启动sql server的实例。

3、升级sql server express到sql server 正式版(我测试的是development版)。

如果是升级后添加的连接,按照第二篇文章所说的设置一下,就行了。但是对于以前在express版本下开发的程序,可以需要手工修改有关的代码。

4、如果还有其它的问题,请参考第三篇文章。



三、参考资料:

第一篇:《解决SQL Server 2005 Express中无法连接到服务器问题 》作者:PCJIM.NET

http://www.cnblogs.com/pcjim/archive/2007/10/21/870012.html



第二篇:《出现"此版本的sql server不支持用户实例登陆标志" 问题的解决方法 》作者:CShapWinForms

http://www.cnblogs.com/CShapWinForms/archive/2007/12/11/809620.html

第三篇:《Web.Config文件中SQLServerExpress数据库连接配置》作者:我行我素

注意:具体的操作步骤,在回复里面。

http://hi.baidu.com/ayasnoopy/blog/item/7af1778bf0cbe716c9fc7aa4.html



第四篇:《数据库连接字符串大全 》摘自:http://www.connectionstrings.com/

http://www.wysjs.cn/showlist/6093469d15d7ca0e53328.html



第五篇:《SqlConnectionStringBuilder.UserInstance 属性 》作者:MSDN

http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlconnectionstringbuilder.userinstance(VS.80).aspx

http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlconnectionstringbuilder.userinstance.aspx


指间的风 2009-03-17
  • 打赏
  • 举报
回复
”此版本的 SQL Server 不支持用户实例登录标志。该连接将关闭“的解决(转)
错误提示:

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 此版本的 SQL Server 不支持用户实例登录标志。该连接将关闭。

原因:
<connectionStrings>
<add name="BlogConnectionString" connectionString="Data Source=.;AttachDbFilename=|DataDirectory|\Blog.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
中的红色部分User Instance=True;只有SQL Server Express版的支持

解决方法:

方法1:在连接属性的设置里边,点高级,将User Instance 设置为false,默认的true(我在数据库中没有找到相应的选项,使用的是第二种方法)


方法2:更改WEB.CONFIG中的连接字符串中的User Instance 为false即可。
che2piaopiao 2009-03-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 insus 的回复:]
您的连接数据库字符是怎样写的?
如果带有"User Instance=True"的话,请删除.因为这是专为SQL Server Express 的写法.


更多写法如下:
http://www.connectionstrings.com/
[/Quote]


insus 2009-03-14
  • 打赏
  • 举报
回复
您的连接数据库字符是怎样写的?
如果带有"User Instance=True"的话,请删除.因为这是专为SQL Server Express 的写法.


更多写法如下:
http://www.connectionstrings.com/

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧