1

我正在将数据从 Excel 工作簿复制到 SQL Server 数据库表。我的 Excel 工作表中的一列有日期,我使用 Rand 函数生成。

如果我在 Excel 输入和 SQL 输出中将列的数据类型保留为字符串。我收到一条错误消息,提示“将字符串转换为 smalldatetime 数据类型时转换失败。”

如果我将我的数据类型保留为日期,它会给出错误消息“单元格格式不是 ....(单元格地址)中的日期”

在我的表在 SQL Server 中的定义中。它的数据类型为“smalldatetime”。

为了解决这个问题,我使用了 tConvertType。但我收到一条错误消息:“单元格格式不是 ....(单元格地址)中的日期”

我附上了我的工作截图。 在此处输入图像描述

在此处输入图像描述

4

2 回答 2

1

您还可以使用 TalendDate.parseDate 方法进行转换...这可以在 tMap 中的表达式中使用。所以您的流程从 excel 中读取日期作为字符串并使用 TalendDate.parseDate("yyyy-MM-dd HH :mm:ss","")

输入 -> tmap -> tmssql输出组件。

于 2014-05-29T01:48:51.440 回答
0

您需要在 Talend 作业中转换类型。

将日期读取为字符串,然后使用 tConvertType 组件将类型从字符串转换为具有特定日期格式的日期类型。然后,您应该能够将其作为smalldatetime数据类型发送到数据库

于 2014-05-28T15:52:30.690 回答