Excel數據導入到Sql server


問題:數據庫內直接操作導致

 

錯誤 0xc020901c: 數據流任務 1: 源 - yndata1$.輸出[Excel 源輸出] 上的 源 - yndata1$.輸出[Excel 源輸出].列[indications] 出錯。返回的列狀態是:“文本被截斷,或者一個或多個字符在目標代碼頁中沒有匹配項。”。
 (SQL Server 導入和導出向導)
錯誤 0xc020902a: 數據流任務 1: “源 - yndata1$.輸出[Excel 源輸出].列[indications]”由於發生截斷而失敗,而且針對“源 - yndata1$.輸出[Excel 源輸出].列[indications]”的截斷行處理設置指定截斷時出錯。在指定組件的指定對象上出現截斷錯誤。
 (SQL Server 導入和導出向導)
錯誤 0xc0047038: 數據流任務 1: SSIS 錯誤代碼 DTS_E_PRIMEOUTPUTFAILED。源 - yndata1$ 的 PrimeOutput 方法返回了錯誤代碼 0xC020902A。管道引擎調用 PrimeOutput() 時該組件返回了一個失敗代碼。雖然該失敗代碼只與該組件有關,但這個錯誤是致命的,管道已停止執行。可能在此之前已經發出錯誤消息,提供了有關失敗的詳細信息。
 (SQL Server 導入和導出向導)

 

 

解決方法 改用命令操作可行:

1、啟用 ad hoc distributed queries 服務器配置選項

 

sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO
View Code

2、代碼示例使用 OPENROWSET,將 Excel Sheet1 工作表中的數據導入新的數據庫表。

 

SELECT * INTO Devices
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0; Database=C:\Users\Administrator\Desktop\Devices.xlsx', [Sheet1$]);
GO
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM