一winform小程序,需远程连接某外网的SQL服务器,遂在app.config配置文件里加上
<connectionStrings>
<add name="sqlcon" connectionString="Data Source=192.168.0.1\实例名;Initial Catalog=ef1818DataBase;User ID=User;Password=pwd" providerName="System.Data.
SqlClient"/>
</connectionStrings>
程序中读出后,服务器地址变量为:"192.168.0.1\\实例名";连接时,报错如下:
--在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: TCP 提供程序, error: 0 - 由于目标机器积极拒绝,无法连接。)
在目标服务器上,我采用同样的IP+实例,连接成功。
另外Configuration Manager中的TCP\IP都正常启动,默认端口1433,telnet Ip 1433 正常(更改端口,连接修改后问题依旧)
外围配置器中的远程连接服务都正常启动,选择为:同时使用TCP/IP和 named pipes连接方式
我也试过192.168.1.0,1433端口连接,还是不行...用户名和密码输错这种可能就排除掉吧。
我没有看到有防火墙软件,会不会有硬件防火墙呢?但我修改了端口后为什么还是连不上呢?
望各位可以指点迷津。
  

解决方案 »

  1.   

    Data Source=192.168.0.1\实例名
    这个你直接写数据库所在的IP地址就可以了。
      

  2.   

    IP地址我自然晓得是写目标服务器的IP,我这里只写是个IP的意思而已。
      

  3.   

    连远程数据库,应该要在sql2005里面设置连接的权限吧..
      

  4.   

     服务器的windows防火墙关掉试试 
      

  5.   

    Data Source=xxx.xxx.xxx.xxx,1433;Initial Catalog=DBname;User ID=sa;Pwd=sa"; 
      

  6.   

    1.数据库引擎没有启动.      有两种启动方式:     (1)开始->程序->Microsoft SQL Server 2005->SQL Server 2005外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到Database Engine,单击"服务",在右侧查看是否已启动,如果没有启动可单击"启动",并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动;     (2)可打开:开始->程序Microsoft SQL Server 2005->配置工具->SQL Server Configuration Manager,选中SQL Server 2005服务中SQL Server(MSSQLSERVER) ,并单击工具栏中的"启动服务"按钮把服务状态改为启动;      使用上面两种方式时,有时候在启动的时候可能会出现错误,不能启动,这时就要查看"SQL Server 2005配置管理器"中的SQL Server 2005网络配置->MSSQLSERVER协议中的VIA是否已启用,如果已启用,则把它禁止.然后再执行上述一种方式操作就可以了.2.进行远程连接时,是否已允许远程连接.      SQL Server 2005 在默认情况下仅限本地连接.我们可以手动启用远程连接.在上面第一种方式中,找到Database Engine,单击"远程连接",在右侧将"仅限本地连接(L)"改为"本地连接和远程连接(R)",并选中"同时使用TCP/IP和named pipes(B)".3.如果是远程连接,则还要查看连接数据库的语句是否正确,登录账户是否正确,密码是否正确等.      我在一次局域网内连接数据库时,就要因为连接字符串出了问题,在局域网内一台机子连接另一台机子上数据库时,把server=装有数据库的另一台机子的IP.我在连接数据库时总是出现上面的错误,查了好长时间,后来发现,IP没有正确到传到连接字符串,原来我在连接时,使用的是本地,即127.0.0.1,输入的IP没有传到连接字符串.
      

  7.   

    192.168.0.1
    这是本地的IP好不好……
    到哪儿都是这个IP……你用它来连远程可能么……
      

  8.   

    192.168.0.1
    你用这个,只能连结本地的服务器,也就是自己计算机上的SQLSERVER!请设置远程服务器IP……唉……
      

  9.   

    192.168.0.1\\
    相当于 LOCAL:\\
    请楼主理解……
      

  10.   

    再说一遍:Data Source=192.168.0.1\实例名;这里的IP地址我为了服务器考虑模拟写的个IP地址。实际情况我写的是目标服务器的IP。我最讨厌不看清楚问题就回答的人。还连续占三楼...侮辱我的人格还侮辱我的智商。悲哀。