一、SQL Server導入Excel數(shù)據(jù)
接下來就一直點擊NEXT,直到完成
此時EXCEL的數(shù)據(jù)就被導入進SQL Server了:
二、小技巧導入Excel數(shù)據(jù)
這個技巧就是直接使用復制粘貼的方式:
注意:這種方法只適用于添加少量數(shù)據(jù),如果是幾十萬行的數(shù)據(jù),是無法這樣導入的。
如圖,我們在Excel當中直接復制數(shù)據(jù):
右鍵PTYPES表,選擇編輯前2002行:
直接右鍵粘貼:
此時就直接可以導入數(shù)據(jù)了:
三、使用Microsoft.ACE.OLEDB導入Excel數(shù)據(jù)
首先安裝包:
執(zhí)行如下代碼導入Excel表格中的數(shù)據(jù):
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=D:\S072003DBS\食品銷售數(shù)據(jù)\類別.XLSX',[類別$]);
如果發(fā)生報錯,則參考如下代碼:
-- 報錯一:SQLServer阻止了對組件'AdHocDistributedQueries'的STATEMENT'OpenRowset/OpenDatasource'的訪問,
-- 因為此組件已作為此服務器安全配置的一部分而被關閉。系統(tǒng)管理員可以通過使用。
-- sp_configure啟用'AdHocDistributedQueries'。
-- 解決方法:
-- 啟用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
-- 為了安全,使用完成后,關閉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
四、手動添加一行數(shù)據(jù)
INSERT INTO PTYPES (PTID,PTNAME) VALUES(101,'細糧')
五、手動添加多行數(shù)據(jù)
INSERT INTO PTYPES (PTID,PTNAME) VALUES
(102,'有機蔬菜'),(103,'有機糧食'),(104,'有機水果')
五、解決類型不匹配致導入失敗
發(fā)現(xiàn)下面導入失敗:
原因在于供應商和類別的類型定義的是INT
,但是在excel
當中他們是字符串類型,因此導入失?。?br>
解決方法:
將兩者忽略。相應的,在數(shù)據(jù)庫當中要將兩者設置為允許空值。文章來源:http://www.zghlxwxcb.cn/news/detail-440746.html
此時就導入成功了:文章來源地址http://www.zghlxwxcb.cn/news/detail-440746.html
到了這里,關于數(shù)據(jù)庫——多種方法導入Excel數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!