我與SQL Server 2014的工作我已經申請了Microsoft Access Database Engine 2010 Redistributable到我的服務器。我已經嘗試了32位和64位驅動程序。使用32位驅動程序,我可以導出到Excel 97-2003,而不會出現問題。如果我嘗試導出到Excel 2007,我Varchar(1000)
列失敗,出現以下錯誤:的SQL Server 2014:不能在查詢導出VARCHAR(1000),以Excel 2007中作品爲Excel 97-2003
Error 0xc0202009: Data Flow Task 1:
SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred.
Error code: 0x00040EDA.
An OLE DB record is available.
Source: "Microsoft Access Database Engine"
Hresult: 0x80040E21
Description: "The field is too small to accept the amount of data you attempted to add. Try inserting or pasting less data.". (SQL Server Import and Export Wizard)
如果我和Varchar(255)
代替Varchar(1000)
去,它的Excel版本都工作正常。該列映射從Varchar(1000)
到Longtext
,我將其設置爲忽略截斷錯誤。
我曾與各種項目運行到這一點,這個項目需要的列的全長和截斷是不能接受的。我試着從SMSS和開始菜單中運行嚮導(32位和64位,儘管如果安裝了32位驅動程序,似乎SMSS運行32位版本)。
我可以堅持使用Excel 97-2003一段時間,但最終它將超過65,536行,將不得不去Excel 2007。我不能導出到CSV,因爲我的客戶要求將它放入一個Excel文件。他們寧願擁有.xlsx文件,但暫時會接受.xls文件。
出口必須定期運行,所以我需要將包保存爲一個文件.dtsx程序。
有沒有人對如何解決這一問題的任何想法?
什麼導出爲CSV文件,然後修改文件與Windows批處理作業? – scsimon
我正在使用SQL Server 2014和Microsoft Access數據庫引擎2007,它對我來說工作正常。 –