顯示具有 Excel 標籤的文章。 顯示所有文章
顯示具有 Excel 標籤的文章。 顯示所有文章

2016年11月21日 星期一

[SQL] 透過指令將xlsx匯入MSSQL




  • 需先設定安全配置,使用指令
 
sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE;  
GO  
  
sp_configure 'Ad Hoc Distributed Queries', 1;  
GO  
RECONFIGURE;  
GO  



  • 下指令匯入資料庫,『D:\Text.xlsx』為檔案位置,『[sheet1$]』為檔案中要匯入的sheet名稱
 
SELECT  *  
FROM    OPENDATASOURCE ('Microsoft.ACE.OLEDB.12.0',  
                       'Excel 12.0;HDR=Yes;IMEX=1;Database=D:\Test.xlsx')... [sheet1$] 
 


  • 如果到這邊執行還有問題

消息 7399……鏈接伺服器 "(null)" 的 OLE DB 訪問介面 "Microsoft.ACE.OLEDB.12.0" 報錯。訪問被拒絕。消息 7301……無法從鏈接伺服器 "(null)" 的 OLE DB 訪問介面 "Microsoft.ACE.OLEDB.12.0" 獲取所需的介面("IID_IDBCreateCommand")。消息 7302……無法創建鏈接服務器 "(null)" 的 OLE DB 訪問接口 "MSDASC" 的實例


        可能原因:SQL Server(MSSQLSERVER) 的登陸身份不合適

          參考解決方案:將相關服務的登陸身份改為 local system

            操作方法:
            運行 services.msc,找到SQL Server(MSSQLSERVER),右鍵屬性,登陸相關選項卡,本地系統帳戶。

            開始---所有程序---MicrosoftSQL Server 2008 R2(或其他版本)---配置工具---SQLServer 配置管理器,找到SQL Server(MSSQLSERVER) ,右鍵屬性,登陸選項卡,內置帳戶改為Local system。
            最後,若在MSSQL JOB中也要用到此接口,則SQL Server代理(MSSQLSERVER)這個服務也要做相同修改。


                      Ref.
                      http://blog.csdn.net/helloword4217/article/details/19000277

                      2015年7月30日 星期四

                      SQL SERVER匯入excel 2013檔案

                      如果遇到  ‘Microsoft.ACE.OLEDB.12.0′ 提供者並未登錄於本機電腦上 ,

                      網路上大部分都說:如需要讀寫2007以上的格式則需於Server上安裝 Microsoft Access Database Engine 2010 可轉散發套件,

                      但有人安裝後還是一樣無法讀取, 建議先在server安裝2007 Office system 驅動程式:資料連線元件 即可:2007 Office system 驅動程式:資料連線元件

                      連結

                      server安裝 2007 Office system 驅動程式:資料連線元件 後, 程式就可以正常運作.

                      ---

                      以上是參考網址1,因為查到不少網址2的相關內容,但是還是無法直接在MSSQL上面匯入excel2013的檔案,直到安裝了「2007 Office system 驅動程式:資料連線元件」才終於可以使用

                      ---


                      參考網址
                      1.
                      網址1

                      2.
                      網址2