【求高手赐教!】当网站服务器和SQLServer不在同一台机器的时候,怎么远程导入DBF数据?
提问1:当网站服务器和SQLServer不在同一台机器的时候,怎么远程导入DBF数据?
目前是这样的,在我的Web站点上传DBF包,但是数据库服务器是独立的机器,用以下的方法只能适用在站点和数据库在同一台机的情况:
--/* dBase IV文件
select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'dBase IV;HDR=NO;IMEX=2;DATABASE=C:\','select * from [客户资料4.dbf]')
--*/
--/* dBase III文件
select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'dBase III;HDR=NO;IMEX=2;DATABASE=C:\','select * from [客户资料3.dbf]')
--*/
--/* FoxPro 数据库
select * from openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\',
'select * from [aa.DBF]')
--*/
/**************导入DBF文件****************/
select * from openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;
SourceDB=e:\VFP98\data;
SourceType=DBF',
'select * from customer where country != "USA" order by country')
------------
根据上面有人提供远程导入:
(转:http://topic.csdn.net/t/20031009/14/2337194.html)
dbf文件这样处理,只能在同一台电脑上.
你可以用xp_cmdshell调用复制命令,将数据复制到服务器上,再处理.
exec master..xp_cmdshell 'copy \\192.168.0.2\d\0926.DBF d:\0926.dbf'
select a.* from openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=d:\',
'select * from [0926.DBF]') as a
=======================
提问2:我的疑问就是如果DBF所在的服务器不提供共享的话,不就cope不到"\\192.168.0.2\d\0926.DBF"吗?