异构数据库之间完全可以用SQL语句导数据

                            告诉你一个最快的方法,用SQLServer连接DBF
在SQLServer中执行
SELECT * into bmk
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="e:\share";User ID=Admin;Password=;Extended properties=dBase 5.0')...bmk
这样就可以把e:\share中的bmk.dbf表导入到Sqlserver中,
速度是最快的
上面这个方法DBF文件必须在服务器上,如果DBF不在服务器上,就用
连接串
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\temp;Extended Properties="dBase 5.0;";Persist Security Info=False
SQL语句
SELECT * into aaa IN [ODBC]
[ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;] 
from aaa
这是直接把客户端上的DBF传上服务器的最直接方法。

把压箱底的方法都告诉大家
在Form上放一个ADOConnection,连结指向目标Access库
比如txt文件在c:\temp\aaaa.txt
就执行
ADOConnection.Connected := True;
ADOConnection.Execute('Select * Into abcd From [Text;Database=c:\temp].aaaa.txt');
就一切Ok了,这个方法一定行的,我好不容易才研究出来的
有了这两个例子,异构数据库之间导数据的问题就举一反三,迎刃而解了。

把Excel导入到Access中,同txt类似
select * into <table name> from [excel 8.0;database=<filename>].[<sheetname>$]

我最讨厌别人用BatchMove导数据了,明明一个SQL的事情,偏要。。。
我的目标是让大家抛弃BatchMove

Provider=MSDASQL.1;Extended Properties="Driver={Microsoft Visual Foxpro Driver};SourceType=DBF;SourceDB=你的文件所在路径;"   




我都说了要举一反三的,可是还是有人问类似的问题,算了,再贴两个例子
c:\temp\aaa.dbf to Access,
ADOConnection 指向Access
语句是  select * into bbb from aaa in 'c:\temp' 'dbase 5.0;'

sql server导出到access
ADOConnection 指向Access
SELECT * into table  FROM Tab1 IN [ODBC]
[ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]
  

                                

查看回复