涤生之Enjoy code

General principles of programmer

导航

CodeSmith4.0.2连接SqlServer2005――不允许远程连接

 

参考此文(http://blog.csdn.net/senbar/archive/2006/04/08/655187.aspx

 

在建立与服务器的连接时出错。在连接到 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的远程连接(默认不允许).

这样配置后还出现错误 

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
首选请确认SQL SERVER EXPRSS已安装到本地计算机上,并且SQL SERVER (SQLEXPRESS)服务已经成功启动。如果问题仍然存在,可以尝试应打开“SQL Server 外围应用配置器,选择服务和连接的外围应用配置器,然后将远程连接配置为同时使用 TCP/IP named pipes” 

我按照上面的解决方法还是出错,出的错误为:无法打开Domain/qzy下指定的数据库实例 

结果是按照下面的方法解决的:

打开任务管理器,kill 用户为systemsqlserver 的进程。 

为什么这样就能解决问题,我也没弄清

附上连接字符串

Data Source=qzy\SQLEXPRESS;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\NHibernate.mdf;Initial Catalog=NHibernate;Integrated Security=True;Connect Timeout=30;User Instance=True;

是拷贝codesmith自带的Petshop字符串,改动两点,一个是.\SQLEXPRESS改为qzy\SQLEXPRESS,另外一个就是替换实例名称

posted on 2007-07-20 17:17  涤生  阅读(1978)  评论(1编辑  收藏  举报