將Excel資料匯入到SQL Server資料庫中

2022-03-27 07:51:55 字數 1569 閱讀 4823

這個方法是到目前為止我見到最好的方法,還有幾個要注意的問題也在下面提到了哦!其中還涉及到要注意到地方都在下面累出來了

1)接受資料匯入的表已經存在。  

insert into t1 select * from  openrowset('microsoft.jet.oledb.4.0'  ,

'excel 5.0;hdr=yes;database=c:\\test.xls',sheet1$); 

這裡預設是excel的工作表一即sheet1,但是記住一定要加"$"

2)匯入資料並生成表。 

select * into t1 from  openrowset('microsoft.jet.oledb.4.0',

'excel 5.0;hdr=yes;database=c:\\test.xls',sheet1$);

3) 匯入excel中指定的列到資料庫表中指定的列。

insert into t1(a1,a2,a3) select a1,a2,a3 from openrowset

'microsoft.jet.oledb.4.0' ,

'excel5.0; hdr=yes; database=c:\\test.xls',sheet1$);

需要注意的地方。

1)外圍應用配置器的設定。

從「功能外圍應用配置器」中選擇「啟動 openrowset 和 opendatasource 支援」選項。

這裡可以通過sql語句進行服務的開關,關於這個開關在我的部落格上已經有了。

位址是:

問題一】:已拒絕對 ole db 提供程式 'microsoft.jet.oledb.4.0' 的特殊訪問。必須通過鏈結伺服器來訪問此提供程式。

分析】:這是因為您當前用來訪問資料庫的登入的許可權不夠(許可權太低)。

解決】:要麼您還用sa登入,要麼修改當前登入的許可權,步驟如下:企業管理器→安全性→登入→找到你所用的登入名→右擊"屬性"→伺服器角色→將system administrator選項打鉤→確定即可。 【問題二】:ole db 提供程式 'microsoft.jet.oledb.4.0' 報錯。提供程式未給出有關錯誤的任何資訊。  ole db 錯誤跟蹤[ole/db provider 'microsoft.jet.oledb.4.0' idbinitialize::initialize returned 0x80004005:  提供程式未給出有關錯誤的任何資訊。]。

分析】:

首先先檢查一下你用來匯入的excel表是否已經開啟,如果開啟了,請關閉後重試一下。

還 是不行的話,繼續往下看。如果你用來資料庫操作的sql語句是用striing字串儲存的,且其中包含著.xsl檔案的存放路徑。那麼問題可能就出在這 個路徑上。您是否值用了乙個斜槓"\"。如果只有乙個斜槓的話,在執行前,錯誤列表中會提示"無法識別轉義序列"。一旦執行,該提示就會消失,可能您就是 因為這樣而沒有注意到這錯誤。

將Excel資料匯入到SQL Server資料庫中

1 接受資料匯入的表已經存在。insert into t1 select from openrowset microsoft.jet.oledb.4.0 excel 5.0 hdr yes database c test.xls sheet1 2 匯入資料並生成表。select into t1 fr...

將Excel匯入到Oracle

private void btninsert click object sender,eventargs e dataset ds 插入資料庫方法 private void insertdbmeth 如果查到了資料,才使控制分頁按鈕生效 if odr 0 conn.close catch excep...

mysql將資料匯入到excel中

先建立一張測試的資料表 create table users username varchar 40 not null,password varchar 40 not null charset utf8 插入資料 insertinto users values admin admin inserti...