我与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,它对我来说工作正常。 –