向SQL2005中匯入 dbf檔案中的資料

2022-02-27 04:55:30 字數 2117 閱讀 2811

有時我們需要從.dbf檔案中將資料匯入到sql2005中,當然這個可能出於各種原因,比如說:原來專案是用的.dbf的資料庫,而現在新的專案裡使用的是sql2005的資料庫,但原來的資料又不能丟,這時就需要這類的操作。其實這樣的操作是經常的,比如:sql2005到oracle中,或是從oracle到sql2005/2008;最近遇到了這樣的問題,在網上尋找了很久,終於得到了乙個解決的方法,在此記錄一下。

在sql2005中,若要讀取.dbf的檔案的資料,就得啟用sql2005的高階元件,叫:ad hoc distributed queries,若沒有啟用就會出現以下的錯誤提示資訊:

所以需要啟動它,**如下:

--

-啟用ad hoc distributed queries:

exec

sp_configure

'show advanced options',

1reconfigure

exec

sp_configure

'ad hoc distributed queries',

1reconfigure

select

*from

openrowset('

microsoft.jet.oledb.4.0',

'dbase 5.0;database=c:/code/',

'select * from [td_mzdm.dbf]

')

結果如下:

我們已經讀取到了dbf檔案中的資料,那麼要將它存放在一張表中就很明顯了,使用以下**可以將其資料與表結構匯入到sql2005中:

select

*into

#td_mzdm

from

openrowset('

microsoft.jet.oledb.4.0',

'dbase 5.0;database=c:/code/',

'select * from [td_mzdm.dbf]')

---查詢臨時表

select

*from

#td_mzdm

結果與上面是一樣的,這裡就不截圖了

若是你的sql2005中已經有一張表結構與dbf檔案中表結構相似(就是可以把資料匯入的表),那麼也可以使用以下的語句完成資料的匯入:

insert

into

#td_mzdm

select

*from

openrowset('

microsoft.jet.oledb.4.0',

'dbase 5.0;database=c:/code/',

'select * from [td_mzdm.dbf]

')

當然我們也可以向dbf檔案中插入資料,其方式差不多,**如下:

insert

into

openrowset('

microsoft.jet.oledb.4.0',

'dbase 5.0;database=c:/code/',

'select * from [td_bylb.dbf]')

select

*from

dbo.td_bylbdm

結果得到受影響的行數:

-關閉ad hoc distributed queries:

exec

sp_configure

'ad hoc distributed queries',

0reconfigure

exec

sp_configure

'show advanced options',

0reconfigure

向mysql中匯入 sql檔案

我這裡有兩個.sql檔案 1.表的.sql檔案 2.表中資料的.sql檔案。顯然我們匯入的步驟是 建立乙個資料庫 匯入表的.sql檔案 匯入表中資料的.sql檔案 建立資料庫 create database ssmdemo 使用此資料庫 此時資料庫中沒有表 use ssmdemo 將表的.sql檔案...

sql2005匯入 匯出Excel

在測試環境中的資料不想在正式環境中再次輸入,就直接匯出到excel,然後再匯入正式庫中,對sql語句不是太熟悉,直接用操作嚮導完成。在資料庫單擊右鍵的任務中選擇匯出資料,按操作嚮導把資料匯入到excel中。在正式資料庫中選擇匯入資料,注意在選擇資料來源的時候 目標可以建立乙個臨時表 資料庫中沒有的表...

實現Excel資料匯入到SQL2005中的方法

前段時間由於工作需要,設計了乙個基於infopath sql的查詢系統,設計完成後,突然發現查詢系統所需要的原始資料都是存放在excel文件,如果將每條記錄重新輸入到sql中,那過程將非常繁瑣,通過在網路查詢得到二種方法,但過程還是不太方便。現將以下幾種方法彙總以下 一 在程式中,用ado.net。...