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

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值