sql - SSIS从excel中读取日期字段作为字符串

标签 sql excel ssis

我有一个 excel 表,其中有一列最初是日期格式,但该列中有很多不是日期格式的不正确数据。我想将它读入 SQL 服务器表,然后我可以运行一些查询来更正日期。但是我无法读取数据,转换时遇到很多麻烦。我使用了“数据转换”、“派生列”、“高级编辑器”、“输入和输出属性”以及许多其他东西。我的问题是如何将所有这些数据读取为字符串而不是日期格式。但是,我不能在 Excel 表上进行任何更改。对于示例,这些是此日期格式 excel 列的一些数据。

2-May-57 
9-Apr-01 
22/05/1969 
1958/july/ 
Feb 7/81 
###################################################### 
dd/mm/yyyy 
6-Mar-79 
Jerse 
79-Mar-01 
80-1-01 

幸运的是,我可以更改 SQL Server 的字段格式。
先谢谢了。

最佳答案

我对 SSIS 没有太多经验,只是偶尔从 Excel 导入 SQL Server。但是当我使用 .NET 读取 Excel 文件时,我会建立类似这样的连接。

提供者=Microsoft.ACE.OLEDB.12.0;数据源=c:\myFolder\myExcel2007file.xlsx;
扩展属性="Excel 12.0 Xml;HDR=YES;IMEX=1";

将 Excel 日期作为字符串读取时,上述重要部分是“IMEX=1”部分。这使 Excel 无法尝试确定数据类型。

我不知道这是否可以通过 SSIS 申请。

关于sql - SSIS从excel中读取日期字段作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20383172/

相关文章:

sql - 提高属性/值表的数据库效率

mysql - 外键来自 SQL 中一列中的两个表

c# - 为什么 OleDbDataAdapter.Fill() 非常慢?

excel - 办公文档设置

sql - 如何在 Excel 中使用 SQL 连接

ssis - 如何在 ssis 包中的平面文件目标中保留空值

sql-server - SSIS 包循环遍历存储过程名称表并执行它们

sql - 根据存在条件计算行数

sql-server - 使用 Excel 2016 作为源

mysql - 更改mysql表中的多个列名