把EXCEL資料匯入到SQL SERVER資料庫中,資料匯入sql

來源:互聯網
上載者:User

把EXCEL資料匯入到SQL SERVER資料庫中,資料匯入sql

方法一。。

直接看操作步驟

在資料庫上點擊右鍵,然後選擇“任務”,選擇“匯入資料”,我們就看到彈出淡入資料的對話方塊



Excel 上面的欄位命名最好跟要匯入到最終的那個表的欄位相同。假設終表為A表。組裝好 如:



按照操作步驟走下去,最終會產生一個新的表(暫存資料表B表)。

我們可以藉助工具,MSSQL表資料匯出成Insert語句的工具   即:將查詢出來的這些資料都產生insert into語句。


最終在A表中執行該insert into語句就可以將excel中的資料最終放入資料庫中。


方法二:

通過語句 直接匯入

insert into hr_staff(uuid,dept,staff_name,gender,nation,birthday,political,native_city,identy,
position,pos_level,work_date,pos_begin,gradschool,professional,degree,education,remark)
select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;HDR=Yes;IMEX=1;Database=D:\13.xls', 'select * from [sheet1$]')


看excel的寫法  excel上的欄位要跟上面的insert into 中的欄位一致




用這個語句會遇到一大堆問題,問題我們跟著提示一步步解決。

問題一:

OLE DB 提供者 'Microsoft.Jet.OLEDB.4.0' 配置為在單一執行緒 Apartment模式下運行,所以該提供者無法用於分散式查詢解決方案:a.執行以上sql語句的資料庫必須是本機資料庫,如果為遠端資料庫就會報上面的錯誤。b.在64SQL Engine中已經不提供jet.oledb.4.0的驅動了,解決方案:下載一個ACE.Oledb.12.0 for X64位的驅動,並把連接字串Microsoft.jet.Oledb.4.0 更改為 Microsoft.ACE.OLEDB.12.0問題二:無法建立連結的伺服器 "(null)" 的 OLE DB 提供者 "Microsoft.Ace.OLEDB.12.0" 的執行個體。解決方案:--開啟匯入功能
    exec sp_configure 'show advanced options',1
    reconfigure
    exec sp_configure 'Ad Hoc Distributed Queries',1
    reconfigure
    --允許在進程中使用ACE.OLEDB.12
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
    --允許動態參數
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1




相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.