日期:2014-05-19  浏览次数:20629 次

公网上某台机器上有个dbf文件,请问在sqlserver中如何连接过去
注意,sqlserver和dbf不在同一个局域网内,
dbf所在的机器,sqlserver服务器有权限访问。

------解决方案--------------------
映射
------解决方案--------------------
应该是不行的。sql server 的数据库文件必须在本地磁盘,UNC 和磁盘映射都不行。
------解决方案--------------------
配置ip 然后用数据库管理员新建一个别名,配置连接方式为TCP/IP协议连接,配置权限,就可以了
------解决方案--------------------
第一种方法:

select * from OPENDATASOURCE( 'SQLOLEDB ', 'Data Source=远程ip;User ID=sa;Password=密码 ').库名.dbo.表名

第二种方法:
  先使用联结服务器:


EXEC sp_addlinkedserver '别名 ', ' ', 'MSDASQL ',NULL,NULL, 'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码; '
exec sp_addlinkedsrvlogin @rmtsrvname= '别名 ',@useself= 'false ',@locallogin= 'sa ',@rmtuser= 'sa ',@rmtpassword= '密码 '
GO

  然后你就可以如下:


select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
go
------解决方案--------------------
不行