將excel 中的數(shù)據(jù)更新到數(shù)據(jù)庫

由于業(yè)務需求脏答,需要將excel 文件中某一列的數(shù)據(jù)按照對應關系更新到已有的表中玩裙,即將表中某一列的數(shù)據(jù)按照對應關系更新到已有的數(shù)據(jù)中叹哭,從網(wǎng)上搜索到了一些代碼但是在實際使用過程中還是遇到不少問題勤揩,下面列出可執(zhí)行代碼俗批,以及更新數(shù)據(jù)中出現(xiàn)的問題及解決方案俗或。

-- 連接成功以后excel 文件就類似一個小型的數(shù)據(jù)庫,里面的工作表就類似數(shù)據(jù)庫里的表
-- 通過搜索語句可以檢測是否能正確連接并讀取excel 語句
SELECT * FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0','Data Source="e:\test1.xlsx";Extended properties=Excel 13.0')...sheet1$ as a
-- 更新語句
update Interface_Voucher_Head set hscode = (SELECT top 1 a.憑證編號 FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0','Data Source="e:\test1.xlsx";Extended properties=Excel 5.0')...sheet1$ as a where right(a.OA單據(jù)號,14) = Interface_Voucher_Head.PayID) 

出錯提示:
因為 OLE DB 訪問接口 'MICROSOFT.JET.OLEDB.4.0' 配置為在單線程單元模式下運行岁忘,所以該訪問接口無法用于分布式查詢辛慰。

報錯原因:
在64SQL Engine中已經(jīng)不提供jet.oledb.4.0的驅動
解決辦法:
需要下載一個64位的AccessDatabaseEngine_X64.exe 驅動文件,并在電腦上運行臭觉,Sql語句中把 'MICROSOFT.JET.OLEDB.4.0'改成Microsoft.ACE.OLEDB.12.0

出錯提示:
SQL Server 阻止了對組件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的訪問昆雀,因為此組件已作為此服務器安全配置的一部分而被關閉。系統(tǒng)管理員可以通過使用 sp_configure 啟用 'Ad Hoc Distributed Queries'蝠筑。有關啟用 'Ad Hoc Distributed Queries' 的詳細信息狞膘,請參閱 SQL Server 聯(lián)機叢書中的 "外圍應用配置器"。
出錯原因:
數(shù)據(jù)庫基于安全原因考慮禁用了Ad Hoc Distributed Queries組件
解決方法:

--開啟Ad Hoc Distributed Queries組件
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
-- 注意對數(shù)據(jù)庫操作完成以后要通過以下語句禁用Ad Hoc Distributed Queries組件
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure

出錯提示:
無法創(chuàng)建鏈接服務器 "(null)" 的 OLE DB 訪問接口 "Microsoft.ACE.OLEDB.12.0" 的實例
解決方案:

--允許在進程中使用ACE.OLEDB.12
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
 --允許動態(tài)參數(shù)
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1

錯誤提示:
無法初始化鏈接服務器 "(null)" 的 OLE DB 訪問接口 "Microsoft.ACE.OLEDB.12.0" 的數(shù)據(jù)源對象什乙。
原因及解決方法:
excel 文件路徑有問題挽封,導致無法連接到原文件,在查詢excel中的數(shù)據(jù)時我的文件路徑是放在自己微軟賬號下的文件夾里面臣镣,數(shù)據(jù)庫訪問時出現(xiàn)問題辅愿,后把文件放在公共文件夾下面就可以順利讀取excel文件中的內容了。

鏈接服務器"(null)"的 OLE DB 訪問接口 "Microsoft.ACE.OLEDB.12.0" 返回了消息 "找不到可安裝的 ISAM忆某。"
sql 語句錯誤導致

-- 錯誤sql
SELECT a.OA單據(jù)號 FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 13.0;HDR=YES;IMEX=1;Database=e:\test1.xlsx',[sheet1$]) as a 

--正確
SELECT a.OA單據(jù)號 FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;HDR=YES;IMEX=1;Database=e:\test1.xlsx',[sheet1$]) as a 
--雖然安裝的excel版本是13.0 但是sql語句要寫12.0 才能正確進行搜索点待,不知道是因為什么。

參考鏈接:
http://blog.csdn.net/xufuyuan/article/details/48812109
AccessDatabaseEngine_X64 下載鏈接:
http://download.csdn.net/download/lin6791022/6685581

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末弃舒,一起剝皮案震驚了整個濱河市癞埠,隨后出現(xiàn)的幾起案子状原,更是在濱河造成了極大的恐慌,老刑警劉巖苗踪,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件颠区,死亡現(xiàn)場離奇詭異,居然都是意外死亡通铲,警方通過查閱死者的電腦和手機毕莱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來颅夺,“玉大人朋截,你說我怎么就攤上這事⊥胱模” “怎么了质和?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長稚字。 經(jīng)常有香客問我饲宿,道長,這世上最難降的妖魔是什么胆描? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任瘫想,我火速辦了婚禮,結果婚禮上昌讲,老公的妹妹穿的比我還像新娘国夜。我一直安慰自己,他們只是感情好短绸,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布车吹。 她就那樣靜靜地躺著,像睡著了一般醋闭。 火紅的嫁衣襯著肌膚如雪窄驹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天证逻,我揣著相機與錄音碍岔,去河邊找鬼颊艳。 笑死八千,一個胖子當著我的面吹牛馍惹,可吹牛的內容都是我干的。 我是一名探鬼主播龙宏,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼棵逊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了银酗?” 一聲冷哼從身側響起辆影,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤掩浙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后秸歧,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡衅澈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年键菱,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片今布。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡经备,死狀恐怖,靈堂內的尸體忽然破棺而出部默,到底是詐尸還是另有隱情侵蒙,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布傅蹂,位于F島的核電站纷闺,受9級特大地震影響,放射性物質發(fā)生泄漏份蝴。R本人自食惡果不足惜犁功,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望婚夫。 院中可真熱鬧浸卦,春花似錦、人聲如沸案糙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽时捌。三九已至怒医,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間匣椰,已是汗流浹背裆熙。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留禽笑,地道東北人入录。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像佳镜,于是被迫代替她去往敵國和親僚稿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內容