告訴你一個最快的方法,用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=你的檔案所在路徑;"