台灣最大程式設計社群網站
線上人數
445
 
會員總數:231032
接案會員:6779
文章總數:2319
討論主題:175380
歡迎您免費加入會員
討論區列表 >> VB.NET >> 用程式將EXCEL匯入SQL 出現"Microsoft.ACE.OLEDB.12.0" 尚未註冊
[變換順序]
[我要回覆]
1


回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
用程式將EXCEL匯入SQL 出現"Microsoft.ACE.OLEDB.12.0" 尚未註冊
價值 : 30 QP  點閱數:6027 回應數:6

樓主

sanji47 版主
中級專家
3499 29
1874 451
發送站內信

捐贈 VP 給 香吉士
各位先進你們好:
我是剛學VB.NET的新手
我想做一個可以把EXCEL檔案匯入遠端MSSQL的程式
以下是我的程式片段--

但是出現"Microsoft.ACE.OLEDB.12.0" 尚未註冊 的問題~"~
把程式改INSERT INTO [user] SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel8.0;Database=C:\user.xls',[Sheet1$])
還是出現"Microsoft.Jet.OLEDB.4.0" 尚未註冊 的問題~"~

爬了很多文章,也google好久...
有看到似乎是64bit的問題!!
去看了一下我遠端的SQL伺服器,正是64-bit!!!!
難道就沒有辦法了嗎??

懇請各位幫個忙!!非常感謝~
本篇文章發表於2009-11-07 08:45
以下的字歪歪的!?

三支女大十一金三支女大十一金三支女大十一金三支女大十一金三支女大十一金

金一十大女支三金一十大女支三金一十大女支三金一十大女支三金一十大女支三
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

sanji47
捐贈 VP 給 香吉士 檢舉此回應
後來我安裝了AccessDatabaseEngine.exe
結果換出現
---------------------
SQL Server 阻止了對組件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的訪問,因為此元件已作為此伺服器安全配置的一部分而被關閉。系統管理員可以通過使用 sp_configure 啟用 'Ad Hoc Distributed Queries'。有關啟用 'Ad Hoc Distributed Queries' 的詳細資訊,請參閱 SQL Server 聯機叢書中的 "週邊應用配置器"。
---------------------
這樣的問題!!
於是我去SQL執行 開啟
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure

再次執行匯入EXCEL的程式
還是出現以下問題...
--> 無法建立連結伺服器 "(null)" 的 OLE DB 提供者 "Microsoft.ACE.OLEDB.12.0" 的執行個體。

請問我是還有哪邊沒有去做到嗎??
懇請各位指教!!

本篇文章回覆於2009-11-07 09:06
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

強力鎯頭
捐贈 VP 給 強力鎯頭 檢舉此回應
http://www.microsoft.com/china/community/Column/31.mspx
http://www.blueshop.com.tw/board/show.asp?subcde=BRD20061227154544WZH&fumcde=
參考看看

或裝 MDAC
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=9ad000f2-cae7-493d-b0f3-ae36c570ade8
http://www.microsoft.com/downloads/details.aspx?familyid=78CAC895-EFC2-4F8E-A9E0-3A1AFBD5922E&displaylang=zh-tw


本篇文章回覆於2009-11-07 10:50
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

sanji47
捐贈 VP 給 香吉士 檢舉此回應
謝謝版主熱心的回答
你提供的文章我也有看過了!!

但是還是無法解決我目前的問題...
一直卡在-->無法建立連結伺服器 "(null)" 的 OLE DB 提供者 "Microsoft.ACE.OLEDB.12.0" 的執行個體。
這個問題!!
因為有搜尋到 有可能是MSSQL作業環境的影響(windows2003 64-bit),
而且這個問題似乎無解>"<
所以想在這邊請教各位先進們

不然就必須找替代方案!!
目前我有想到一個--
就是把EXCEL的資料一行一行讀出來-->再用insert匯入SQL...
不過我才剛接觸vb.net
程式的語法還須多加磨練!!
望請各位給些幫助QQ
謝謝


本篇文章回覆於2009-11-07 11:21
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

強力鎯頭
捐贈 VP 給 強力鎯頭 檢舉此回應
試試 http://www.blueshop.com.tw/board/show.asp?subcde=BRD20070620011204OHM&fumcde=
由功能表[專案]
最底下[XX屬性]
[編譯] Tab
[進階編譯選項] Button
最底下[目標CPU] ComoboBox 選[X86]


本篇文章回覆於2009-11-08 14:01
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

sanji47
捐贈 VP 給 香吉士 檢舉此回應
阿嗚~~~~ ㄒ____ㄒ
看到版主的回應,興高采烈的去試
但是,還是不行...
真的是很討厭!!! 原來這是個古早就有的問題.....
因為我到MSSQL的伺服器去直接下SQL語法
還是出現 無法建立連結伺服器 "(null)" 的 OLE DB 提供者 "Microsoft.ACE.OLEDB.12.0" 的執行個體。
這個問題!!所以可能不只是開發環境的問題,跟SQL伺服器的OS環境應該也有關係!!

看來我只好來測試別條路了~"~
雖然比較麻煩...但是如果我找出另解的辦法一定來跟大家分享!!
真心謝謝版大的回應!!

希望接下來測試可以順利點>"<
若各位先進若有其他意見 再煩請多多指教!!

本篇文章回覆於2009-11-09 08:42
--未登入的會員無法查看對方簽名檔--
6樓
回應

Yang Mick
檢舉此回應
無法建立連結伺服器 "(null)" 的 OLE DB 提供者 "Microsoft.ACE.OLEDB.12.0" 的執行個體。

請用下面的方式就可以解決.

master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
GO

本篇文章回覆於2012-11-21 14:34
--未登入的會員無法查看對方簽名檔--
[變換順序]
1
 

回覆
如要回應,請先登入.