本地的数据,怎么才能insert into 放在互联网的服务器中sql数据库?IP已知,但是提示错误。我可以insert到本地局域网的其他电脑,但是不能写入放在互联网上面的服务器,请问是怎么回事?提示错误:
运行时错误 '-2147467259 (80004005)':[DBNETLIB][ConnectionRead (recv()).]一般性网络错误。请检查网络文档。"
请教请教,谢谢先

解决方案 »

  1.   

    本地的电脑产生数据,服务器在互联网上面
    不可能每个终端都打开远程的服务器必须是在本地产生了数据就insert到远程的电脑上面继续请教
      

  2.   

    不同服务器数据库之间的数据操作--创建链接服务器 
    exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' 
    exec sp_addlinkedsrvlogin  'ITSV ', 'false ',null, '用户名 ', '密码 ' --查询示例 
    select * from ITSV.数据库名.dbo.表名 --导入示例 
    select * into 表 from ITSV.数据库名.dbo.表名 --以后不再使用时删除链接服务器 
    exec sp_dropserver  'ITSV ', 'droplogins ' --连接远程/局域网数据(openrowset/openquery/opendatasource) 
    --1、openrowset --查询示例 
    select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --生成本地表 
    select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --把本地表导入远程表 
    insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) 
    select *from 本地表 --更新本地表 
    update b 
    set b.列A=a.列A 
     from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b 
    on a.column1=b.column1 --openquery用法需要创建一个连接 --首先创建一个连接创建链接服务器 
    exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' 
    --查询 
    select * 
    FROM openquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ') 
    --把本地表导入远程表 
    insert openquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ') 
    select * from 本地表 
    --更新本地表 
    update b 
    set b.列B=a.列B 
    FROM openquery(ITSV,  'SELECT * FROM 数据库.dbo.表名 ') as a  
    inner join 本地表 b on a.列A=b.列A --3、opendatasource/openrowset 
    SELECT   * 
    FROM   opendatasource( 'SQLOLEDB ',  'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta 
    --把本地表导入远程表 
      

  3.   

    exec sp_addlinkedserver   'ITSV', '', 'SQLOLEDB', 'ip地址' 
    exec sp_addlinkedsrvlogin  'ITSV', 'false',null, '用户名', '密码' --查询示例 
    select * from ITSV.数据库名.dbo.表名 我将IP地址,用户名,密码,数据库名字,表名改为我的资料后,其他不变,结果:服务器: 消息 11,级别 16,状态 1,行 1
    一般性网络错误。请检查网络文档。请问怎么办?谢谢先
      

  4.   

    可能你根本就没有远程服务器的用户和密码,权限不够,或者远程的数据服务没开启;3,4楼说得也很好,但还是要在远程服务器做一点设置,缺省这些在SQL2005都是没打开的.
      

  5.   

    可能你根本就没有远程服务器的用户和密码,===我使用远程桌面可以登陆进服务器的windows,然后再打开查询分析器,输入用户名和密码,就可以打开查询分析器,但是在我的电脑,使用刚才wufeng4552 给的那3行代码就是不行不知为什么?请教请教,谢谢先
      

  6.   

    exec sp_addlinkedserver   'ITSV', '', 'SQLOLEDB', '61.157.**.**' 
    exec sp_addlinkedsrvlogin  'ITSV','false',null,'eGood','*****' 
    select * from ITSV.egood.dbo.jp
      

  7.   


    (所影响的行数为 0 行)
    (所影响的行数为 1 行)
    (所影响的行数为 0 行)
    (所影响的行数为 1 行)
    ===第二行运行的时候是这个提示,另外那个数据库名字eGood写成egood也是一样的问题。请教请教
      

  8.   

    --代碼沒有問題,確定你的確保密碼與用戶名正確,同時如果數據庫有命名實例則IP\命名實例
    exec sp_addlinkedserver  'ITSV', '', 'SQLOLEDB', '61.157.**.**\實例名' 
    exec sp_addlinkedsrvlogin  'ITSV','false',null,'eGood','*****' 
    select * from ITSV.egood.dbo.jp
      

  9.   

    不好意思,老大,我的数据库是egood,登陆的用户名也是egood
    但是就是登陆不了
    纳闷
      

  10.   

    用户名是egood,密码我是使用复制粘贴的方式,登陆了远程服务器再登陆查询分析器,都是可以登陆的但是想通过我的本地查询分析器就是没有办法链接到远程服务器
      

  11.   

    你在本地先用SQL的客户端看能不能连上那个服务器再说,没准就连不上。。
      

  12.   

    先確定在查詢分析器,指定遠程服務器名,密碼能否連結? 
    ==使用您的那3行代码,出错,上面说了
    我直接在我的电脑查询分析器输入:
    select * from [61.157.***.***].egood.dbo.jp,提示:
    服务器: 消息 7202,级别 11,状态 2,行 1
    在 sysservers 中未能找到服务器 '61.157.109.52'。请执行 sp_addlinkedserver 以将服务器添加到 sysservers。还是不行,请教请教
      

  13.   

    輸入遠程服務器名-我输入的是ip提示:
    "无法连接到服务器61.157.109.52:服务器: 消息 11,级别 16,状态 1
    [Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]一般性网络错误。请检查网络文档。"
      

  14.   

    建议:
    select * into tempdb.dbo.jp from openrowset('SQLOLEDB','数据库IP','user','pwd',egood.dbo.jp);然后查询本地的 tempdb.dbo.jp之前,要用外围配置器 打开远程数据库的openrowset许可.然后你在本地看看.
      

  15.   

    我本地的查询分析器链接不上那个远程服务器sql
    不知要做什么配置?请教请教
      

  16.   

    select * into tempdb.dbo.jp from openrowset('SQLOLEDB','数据库IP','user','pwd',egood.dbo.jp);我使用这个命令,换上我的IP'***.***.***.***',提示:服务器: 消息 170,级别 15,状态 1,行 1
    第 1 行: ',' 附近有语法错误。不知为什么,请教请教
      

  17.   

    不好意思,打错了两个符号.应该是:
    select * into tempdb.dbo.jp from openrowset('SQLOLEDB','数据库IP';'user';'pwd',egood.dbo.jp); 有两个地方应该是;号,手快了.对不起.
      

  18.   

    老大客气了,我按照您的测试了
    提示:
    服务器: 消息 11,级别 16,状态 1,行 1
    一般性网络错误。请检查网络文档。
    现在我发现一个问题,远程服务器的asp,我要是写:
    http//远程服务器的IP/a.asp
    提示无法显示但是在远程服务器直接打上http//127.0.0.1/a.asp就可以显示正常的内容,请问是什么回事?问题可能是在这个地方,谢谢先
      

  19.   

    用外围配置器 打开数据库的openrowset许可吗?还有你的是SQL2000?2005?
    本地是什么数据库?我的方法是把远程的数据拖到本地来,所以本地要打开openrowset.
    错误提示应该还有:
    使用sp_configure 启用'Ad Hoc Distributed Queries'.因为SQL2005有了图形化的功能外围配置器,所以直接打个钩就行了.还有你的另一个问题是IIS的问题,可能你远程的IIS没有匿名的许可.你在IIS把目录设为可匿名访问,就应该没问题了.
      

  20.   

    我是win XP +SQL 2000
    那个匿名访问我设了,使用的是我远程登陆服务器的win用户名+密码
    但是还是提示无法打开网页纳闷啊,继续请教
      

  21.   

    是啊,我也奇怪呢,怎么卡在这个问题上面
    我netstat -an没有看到1433端口,但是我使用一个4000多的端口是开的,也是不行莫名其妙啊
      

  22.   

    你再看看这篇 文章吧:http://www.xker.com/page/e2007/0104/4596.html
    再不行 ,看来只能重新装一次 了,不知道你机器里设置了什么.
      

  23.   

    首先我认为你的这种想法不太安全,你在网络中传送帐号密码是极危险的,你为什么不在你的数据服务器上架一
    WEB服务呢,你操作数据库只要将要操作代码传到WEB服务上去,让服务来帮你完成这些操作.这样你就不要为连接的事愁了,还提高了安全性.
      

  24.   

    谢谢mochencui 大侠!不过您那个方法我测试了,还是不行
    谢谢wjfmail 大侠!我天亮要求网管打打sql的补丁看看
    谢谢poxi_nick 老大:我那个就是将数据库放在互联网上面,本地局域网产生数据并insert进去,请问有什么问题不?
    再一次感谢!