在这想请教大家一个简单的问题 ,就是如果要实现异地数据库访问的话,是不是要把服务器端的数据库设置为能够网络访问的,那具体怎么设置了?请稍微讲详细点,初学者,谢谢!

解决方案 »

  1.   

    那是当然。
    1、本文收录了不能连接SQL Server ,报 The  Network  Adapter  could  not  establish  the  connection  异常的所有遇到过的原因,并提供了图形化的排查向导。 
    不过根据经验,没有升级到SP4的可能性最高。可以直接看第6部分。 常见的错误为: The  Network  Adapter  could  not  establish  the  connection  
    1 检查SQL SERVER 是否允许远程访问. 
    具体步骤: 
      1)打开"企业管理器",打开控制台根目录>SQL Server 组>数据库 
      2)在相应"数据库"上单击右键,选择"属性" 
      3)选择"连接"选项卡,检查"远程服务器连接"下,RPC服务是否选择. 
    2 使用telnet IP地址 1433,系统是否提示连接出错 
    比如 telnet 127.0.0.1 1433 
    如果出现黑屏,这端口正常 
    如系统提示出错 
      检查是否防火墙屏蔽了SQL SERVER 或 java IDE 的网络访问端口 
      如果是,关闭防火墙,重新启动SQL SERVER和java IDE,进行测试, 
      如果系统仍提示上述错误,尝试下列步骤 
    3 检查SQL SERVER 端口号及是否启用了TCP/IP协议 
    具体步骤: 
      1)打开"企业管理器",打开控制台根目录>SQL Server 组>数据库 
      2)在相应"数据库"上单击右键,选择"属性" 
      3)选择"常规"选项卡,点击"网络配置",如启用的协议中无"TCP/IP协议"将其加入 
      4)选择"TCP/IP协议",点击"属性",检查其端口号是否为1433 
     5)如端口号为1433将其修改为其它端口号,修改jdbc连接语句,将端口号同样改为新启用的端口号,如jdbc:microsoft:sqlserver://server_name:1400(假设新端口号为 1400) 4 以下的方法你每种的去试试: 
      1)检查一下sql server的connection有没有full. 
      2)如果是认证的问题.  可到sql enterprice manager->指定server->内容->安全性.  把验证改为 SQL server 及 windows. 
      3)点选属性检查一下port是否正确. 
      4)执行%MSSQL_HOME%\80\Tools\Binn\SVRNETCN.exe 
        把TCP/IP启用. 
      5)关掉防火墙. 
      6)把SQL server update到sp4: 
      http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5 
      经我验证,一般升级到sp4就好用了! 
      注意升级的方法,不是双击运行就可以了,这个SP4是解压缩程序,你要指定一个目录,推荐c:\,解压缩后,需要转到那个目录运行里面的setup.bat才是真正的安装。不知道为何微软不直接调用那个。搞不懂!!!   8) 在 SQL Server 2005 里面,如果出现 
      到主机  的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect 
      sqlserver2005默认情况下是禁用了tcp/ip连接。启动tcp/ip连接的方法, 
      打开 \Microsoft SQL Server 2005\配置工具\目录下的SQL Server Configuration Manager,选择mssqlserver协议, 
      然后右边窗口有个tcp/ip协议,然后启动它,把sqlserver服务停了,然后在启动。问题就解决了 
      

  2.   

    然后建立连接服务器
    链接SQL Server服务器:   1、使用 ODBC 的 Microsoft OLE DB 提供程序      EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
          go
          exec sp_addlinkedsrvlogin  @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
       2、使用SQL Server 的 Microsoft OLE DB 提供程序      exec sp_addlinkedserver @server='别名',@provider='sqloledb',@srvproduct='',@datasrc='远程服务器名'
          exec sp_addlinkedsrvlogin  @rmtsrvname='wzb',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'   3、操作数据
          select * from 别名.库名.dbo.表名
          insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
          select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
          go    例1、此示例在 SQL Server 的实例上创建一台名为 S1_instance1 的链接服务器,该服务器使用 SQL Server 的 Microsoft OLE DB 提供程序。      EXEC sp_addlinkedserver @server='S1_instance1', @srvproduct='',@provider='SQLOLEDB', datasrc='S1\instance1'    例2、建立链接服务器
          EXEC sp_addlinkedserver 'xiaoming','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=192.168.0.1;UID=sa;PWD=123;'
            建立链接服务器登录映射
          exec sp_addlinkedsrvlogin @rmtsrvname='xiaoming',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='123'
          go
         --查询数据
          select * from xiaoming.schooladmin.dbo.agent       --删除链接服务器登录映射和链接服务器:
         exec sp_droplinkedsrvlogin 'xiaoming' ,'sa'
         exec sp_dropserver  'xiaoming' 
      

  3.   

    如果是用ADSL拨号,安装花生壳激活域名后,在查询分析器中服务器那里访问域名就可以了,其它任何选项都不用去设置. 
    如果用路由器,激活域名后,在路由器里面虚拟服务器里映射1433端口,也不用再做多余的设置
    记住:SQL SERVER一定要打补丁
      

  4.   

    哦  谢谢你的答复  但我现在的问题是   我根本就还不知道怎么把服务器端的sql2000数据库设置成可以网络访问的  其实楼上的影子就是我想要的答案 但我在实际操作的过程中发现了点问题  没找到设置连接选项卡??奇