`
webdev2014
  • 浏览: 675332 次
文章分类
社区版块
存档分类
最新评论

VMware虚拟机下xp系统的VS2010连接SQLServer2000数据库

 
阅读更多

应一个项目需要,要使用C#的ASP.NET、SQL Server数据库环境下开发,由于主机环境为Apache环境,因此在VMware虚拟机下安装了XP SP3系统,在此虚拟机中搭建了开发环境:(此xp系统之前已经安装了SQL Server2000数据库)

VS2010 + SQL Server 2000

就这样,需要连接数据库操作,代码如下

	String connectionString = @"server=OSHYN-7BAA4D263\OSHYN_DATABASE; database=InspectDepartment; integrated security=SSPI";

        SqlConnection sqlConn = new SqlConnection(connectionString);
        try
        {
            sqlConn.Open();
        }
        catch (Exception err)
        {
            Response.Write("connection failed!<br>");
            Response.Write(err.Message);
        }
        finally
        {
            sqlConn.Close();
        }

在连接数据库的时候一直出现如下错误:

“在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接) ”

的错误,网上找到了很多相关问题的,大家都出现过类似的问题,主要有以下一些可以供参考的方面:

一、数据库端

1、查看是否打开数据库引擎、数据库服务。

2、设置服务器设置中启用的协议,要开启“命名管道”和“TCP/IP”协议,同时对于TCP/IP协议设置属性中的端口号。特别注意的是需要禁用掉VIA协议。

3、数据库启用的是混合验证方式验证。

4、数据库要打开允许为远程连接。

二、系统和代码端

1、连接数据库字符串是否正确。

混合验证方式:

string connString =@"server=机器名\ 数据库实例名; database=数据库名; integrated security=SSPI";

数据库用户验证:

string connString =@"server=机器名\ 数据库实例名; database=数据库名; uid = 用户名; pwd=密码";

之前一直连接出错就是由于将server设置为了127.0.0.1和localhost的缘故,一直连接不上,原因是数据库没有使用默认实例,指定了实例名,需要用真实的“机器名\数据库实例名”进行连接才可以。

当使用默认实例名时,使用

server= localhost

server = 127.0.0.1

server= 机器名

server = ip地址

都可以连接数据库,但是指定了实例名后就不能这样用,必须加上相应的实例名才可以。

2、检查系统的防火墙设置,要关闭防火墙,或者在防火墙中打开你自己设定的SQL Server的TCP/IP端口号。

3、可能还有其他问题留给各位大神补充交流~

对于开发环境的搭建确实会出现很多问题,不过每次问题解决之后需要不断总结才能有所收获,但是当解决问题之后确实比较满足的。此次环境的搭建想过很过方案,比如想安装SQL Server2008,比如想在虚拟机中安装WIN7系统然后再安装VS2010和SQL2008等等,但是最后都是因为xp系统中的SQLServer2000已经用过很久了,不愿意丢掉,不过最终还是成功连接上了数据库。



参考资料:

1、http://blog.csdn.net/insus/article/details/2247318

2http://space.itpub.net/16436858/viewspace-679375


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics