--访问不同电脑上的数据库(远程只要联好网就一样)--如果经常访问或数据量大,建议用链接服务器--创建链接服务器
exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
go--查询示例
select * from srv_lnk.数据库名.dbo.表名--导入示例
select * into 表 from srv_lnk.数据库名.dbo.表名go
--处理完成后删除链接服务器
exec sp_dropserver 'srv_lnk','droplogins'--如果只是临时访问,可以直接用openrowset
--查询示例
select * from openrowset('sqloled'
,'sql服务器名';'用户名';'密码'
,数据库名.dbo.表名)
--导入示例
select * into 表 from openrowset('sqloled'
,'sql服务器名';'用户名';'密码'
,数据库名.dbo.表名)

解决方案 »

  1.   

    建议看看你DBNOVTCP.EXE有没有什么卸载参数使用,或者干脆开发出自己的DOS下的通讯程序替代DBNOVTCP.EXE,你去看看SQL 6.5的程序开发资料,就是用DB-Library for C语言(DBNOVTCP.EXE就是用这个的) 开发出自己的DBNOVTCP.EXE类似的程序了,还有就是只是加载db-Library的通讯库驻留DOS,ISQL就可以用参数指定服务器名了,我几年前有搞过,不过太老的技术了怎么还有人在用?
      

  2.   

    TO: zhaoloudy(学到那年才到头?) :
      没办法,确实是几年前的技术但现在又有需要了。
      你能确定可以直接开发类似DBNOVTCP的程序吗,是用哪种C语言?
      另能否在网络协议连通后用C语言直接开发读取数据库的程序而不用DBNOVTCP之类的程序?TO: netcoder(正当商人),zjcxc(邹建) 两位大侠:
      感谢你的帮助,请问若服务器A是Sybase,服务器B是Sql,直接通过连接Sybase后,
    再与SQL通讯,用你的方法可以吗?
      

  3.   

    --可以,只不过参数不同:select * from openrowset('MSDASQL',
    'Driver={Sybase System 11};Database=tax_js;Srvr=server;UID=sa;PWD=;',
    tax_js.dbo.m_jggk)select * from opendatasource('MSDASQL',
    'Driver={Sybase System 11};Database=tax_js;Srvr=server;UID=sa;PWD=;'
    ).tax_js.dbo.m_jggk