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