[轉貼]使用異質資料庫的資料轉換(透過sql command)

有關資料庫的討論, 都可以在這發表哦~~
回覆文章
頭像
tim
文章: 1380
註冊時間: 2008年 11月 26日, 00:49

[轉貼]使用異質資料庫的資料轉換(透過sql command)

文章 tim »

很有用的一篇資訊, 使用 sql server 中的 OpenDataSource 及 access 的指定 jet 資料源來進行資料的匯入及匯出的方法.

http://www.delphibbs.com/delphibbs/disp ... ID=1691966

原文:

問題:異構資料庫之間完全可以用SQL語句導數據。大家拋棄BatchMove吧 如果覺得好請Up一下,如果覺得不好也請Up一下 ( 積分:1, 回復:230, 閱讀:4264 )
分類:資料庫-C/S型 ( 版主:千中元, luyear )

告訴你一個最快的方法,用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中,
速度是最快的
把壓箱底的方法都告訴大家
在form上放一個ADOConnection,連結指向目標Access庫
比如txt檔在c:tempaaaa.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


當然可以在程式中運行
SQL Server表導出和txt導入一個道理
基本上都是用Jet4.0 和 ODBC連結實現
先用用Jet4.0連結dbf,access,txt然後利用SQL語句導出導入
在此我就不詳細說了,一句話,都可以的
列出連結串屬性Extended properties,
DBase 5.0
DBASE IV
FoxPro 3.0
Paradox 7.X
Excel 8.0
text;HDR=YES;FMT=Delimited

SELECT * into aaa
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:temp";User ID=Admin;Password=;Extended properties=Text')...[bb#txt]
多多留言, 整理文章, 把經驗累積下來.....
回覆文章