不知道.net出了什么问题。
后台代码打开远程数据库连接就报错。尝试过以下方法

 一."SQL   Server   不存在或访问被拒绝"   
    
  这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.   
    
  一般说来,有以下几种可能性:   
    
  1,SQL   Server名称或IP地址拼写有误   
  2,服务器端网络配置有误   
  3,客户端网络配置有误   
    
  要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因.   
    
    
  =============   首先,检查网络物理连接   =============   
  ping   <服务器IP地址/服务器名称>   
    
  如果   ping   <服务器IP地址>   不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等.   
  还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如   ISA   Server.防火墙软件可能会屏蔽对   ping,telnet   等的响应   
  因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口.   
    
  如果ping   <服务器IP地址>   成功而,ping   <服务器名称>   失败   
  则说明名字解析有问题,这时候要检查   DNS   服务是否正常.   
  有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,   
  具体的方法是:   
    
  1.使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc).   
  添加一条IP地址与服务器名称的对应记录,如:   
  172.168.10.24   myserver   
    
  2.或在   SQL   Server   的客户端网络实用工具里面进行配置,后面会有详细说明.   
    
    
  =============   其次,使用   telnet   命令检查SQL   Server服务器工作状态   =============   
  telnet   <服务器IP地址>   1433   
    
  如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明   SQL   Server   服务器工作正常,并且正在监听1433端口的   TCP/IP   连接   
  如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动   SQL   Server   服务,   
  也可能服务器端没启用   TCP/IP   协议,或者服务器端没有在   SQL   Server   默认的端口1433上监听.   
    
    
  =============接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了   TCP/IP   协议等等   =============   
  可以利用   SQL   Server   自带的服务器网络使用工具来进行检查.   
    
  点击:程序   --   Microsoft   SQL   Server   --   服务器网络使用工具   
    
  打开该工具后,在"常规"中可以看到服务器启用了哪些协议.   
  一般而言,我们启用命名管道以及   TCP/IP   协议.   
  点中   TCP/IP   协议,选择"属性",我们可以来检查   SQK   Server   服务默认端口的设置   
  一般而言,我们使用   SQL   Server   默认的1433端口.如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.   
    
    
  =============   接下来我们要到客户端检查客户端的网络配置   =============   
  我们同样可以利用   SQL   Server   自带的客户端网络使用工具来进行检查,   
  所不同的是这次是在客户端来运行这个工具.   
    
  点击:程序   --   Microsoft   SQL   Server   --   客户端网络使用工具   
    
  打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议.   
  一般而言,我们同样需要启用命名管道以及   TCP/IP   协议.   
  点击   TCP/IP   协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致.   
    
  单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称,   
  连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS文件有相似之处.   
    
    
  通过以上几个方面的检查,基本上可以排除第一种错误.   ② 重装VS.net2003和SQLserver 2000两个方法都试过,但是不能解决问题。
关键是这个工程在别人的机器上没有任何问题。
在我这里就只能可以连接本地数据库有哪位大侠知道解决方案或者问题点,敬请不吝赐教。
不胜感激
结贴后追加100分

解决方案 »

  1.   

    转SQL版去,等高手来分析下,试过的方法不行么??
      

  2.   

    链接服务器试试看???A. 使用用于 SQL Server 的 Microsoft OLE DB 提供程序
    使用用于 SQL Server 的 OLE DB 创建链接服务器 
    下面的示例创建一台名为 SEATTLESales 的链接服务器,该服务器使用用于 SQL Server 的 Microsoft OLE DB 提供程序。USE master
    GO
    EXEC sp_addlinkedserver 
        'SEATTLESales',
        N'SQL Server'
    GO在 SQL Server 的实例上创建链接服务器 
    此示例在 SQL Server 的实例上创建一台名为 S1_instance1 的链接服务器,该服务器使用 SQL Server 的 Microsoft OLE DB 提供程序。EXEC    sp_addlinkedserver    @server='S1_instance1', @srvproduct='',
                                    @provider='SQLOLEDB', @datasrc='S1\instance1'B. 使用用于 Jet 的 Microsoft OLE DB 提供程序
    此示例创建一台名为 SEATTLE Mktg 的链接服务器。说明  本示例假设已经安装 Microsoft Access 和示例 Northwind 数据库,且 Northwind 数据库驻留在 C:\Msoffice\Access\Samples。
    USE master
    GO
    -- To use named parameters:
    EXEC sp_addlinkedserver 
       @server = 'SEATTLE Mktg', 
       @provider = 'Microsoft.Jet.OLEDB.4.0', 
       @srvproduct = 'OLE DB Provider for Jet',
       @datasrc = 'C:\MSOffice\Access\Samples\Northwind.mdb'
    GO
    -- OR to use no named parameters:
    USE master
    GO
    EXEC sp_addlinkedserver 
       'SEATTLE Mktg', 
       'OLE DB Provider for Jet',
       'Microsoft.Jet.OLEDB.4.0', 
       'C:\MSOffice\Access\Samples\Northwind.mdb'
    GO
      

  3.   

    把你报的错粘出来看一下,ping那是弄ip地址,与sql没好大关系的!SqlServer点开了连接了,那你的本地服务器是否开启呢?
      

  4.   

    报的错误是SQL  Server  不存在或访问被拒绝关闭防火墙也不行。
      

  5.   

    感谢各位解答。机器上安装有vs.net2003,vs.net2005, sqlserver 2000, sqlserver 2005 不知道是不是版本冲突引起的。
      

  6.   

    应该不存在冲突的问题.
    看看是不是操作系统的密码更改过排除了你说的那两种可能后
    更详细的你看一下下面的.
    http://libinguest.blog.163.com/blog/static/4534208200752092519706/
      

  7.   


    那这证明是本地的问题.
    从本地下手,再看看服务器的host文件下是否有你机子的配置信息
      

  8.   


    楼主真强,安装了vs.net2003和sqlserver 2000,还安装了vs.net2005和sqlserver 2005 这不出现错误才怪呢
      

  9.   


    本地: windows xp sp3
    正常运行的: windows xp sp2
    服务器:windows server 2003
      

  10.   

    你的本机需要联的服务器,在其他电脑上是可以联上的吗?
    如果其他电脑可以联服务器,说明你本机有问题!
    否则就是服务器配置有问题(是否有打sql的sp3补丁?)
      

  11.   

    呵呵。其他人的机器上可以访问远程。
    我的机器上sql查询分析器可以连接远程服务器。
    只是.net2003的工程只能连接本地数据库。
      

  12.   

    看了楼主的问题描述,我看就是连接字符串写的不对,你用查询分析器中都可以访问,难倒用sqlconnection就无法连接上了?
    连接字符串中Data Source=127.0.0.1,1433,ip后加端口号,中间用逗号分隔
      

  13.   

    你装了vs.net2005了为什么还用2003?另外你数据库什么版本,你是要在VS里测试管理数据库吗?如果单单是程序连接数据库,不应该存在版本问题,但如果是VS的管理工具去访问数据库,就需要考虑版本问题了。
      

  14.   

    原来呢,是版本问题,东西装得太多了,你sqlserver 2005弄掉试试看,那时候应该可以连2000的,前几天,SQL版的大侠遇到了,是不能同步,连接不上
      

  15.   

    ASP.net 有没有登陆数据库的权限
    安装了多版本的数据库,在做数据连接的时候要注意各本版数据库的实例名。
    SQL  服务是否开启
      

  16.   

    以前碰到MS SQL 2000的问题,后来卸载并且将注册表中的相关键值都给删除掉,后来解决掉了。
      

  17.   

    以前碰到MS SQL 2000的问题,后来卸载并且将注册表中的相关键值都给删除掉,后来解决掉了。
      

  18.   


    连接本机的
    <add key="ConnStr" value="password=;packet size=4096;user id=sa;database=dbEvaluation;server=172.18.6.28"/>连接服务器的
    <!--add key="ConnStr" value="password=develop;packet size=4096;user id=develop;database=dbEvaluation;server=172.18.1.6"/-->密码没有改过,因为是本地管理员。
      

  19.   

    应该是本地问题,是否有相关SQL服务没有启动