SQL Server导入/导出数据向导与DTExec Exceldate

我正在尝试使用Visual Studio 2015中最新的SSDT创build一个Excel电子表格作为SQL Server 2014项目/包。 我首先使用SQL Server导入/导出数据向导来运行并创build一个DTS包,该包发出一个简单的查询以从包含DATETIME列的SQL Server数据库表中检索数据,并将其导出到Excel,将DATETIME列保留为DATE在Excel中。

在向导过程中运行DTS包正确创build列值为DATE的Excel文件。 但是,当我使用Visual Studio 2015(使用32位模式)或任何32位版本的DTExec实用程序重新运行向导保存到文件系统的DTS包时,始终创build的Excel文件的列值始终为文本。 Excel工作表是使用“DateTime”types创build的,内部SSIStypes是DT_DBTIMESTAMP。 我正在使用Microsoft.ACE.OLEDB.12.0 32位驱动程序,因为我在开发人员工作站上安装了Office 2016 32位(尽pipe可能会在生产服务器上使用64位版本)。

任何想法,为什么差异发生在使用向导运行它与在Visual Studio中运行它或使用DTExec? 这真让我抓狂!

还是有没有人有任何不同的方法来强迫这个列在Excel中的date?

谢谢!

布赖恩

通过SSIS将datelogging导出为ex​​cel将始终被视为TEXT ,除非您已经在您的Excel工作表中有虚拟logging,然后导入到虚拟行之后的excel中。 假设您将虚拟行设置为DATE格式