我正在将数据从Excel工作簿复制到SQL Server数据库表。 我的Excel工作表中的一列有Dates,我使用Rand函数生成它。
如果我将我的列的数据类型保存为Excel输入和SQL输出中的字符串。 我收到一个错误 “将字符串转换为smalldatetime数据类型时转换失败。”
如果我将我的数据类型保留为Date,则会显示为错误 “单元格格式不是日期......(单元格地址)”
在我的表中SQL服务器的定义。它的数据类型为“smalldatetime”。
要解决此问题,我使用的是tConvertType。 但是我收到的错误是: “单元格格式不是日期......(单元格地址)”
我附上了我的工作截图。
答案 0 :(得分:1)
你也可以使用TalendDate.parseDate方法进行转换...... 这可以在tMap中的表达式中使用。所以你的流程从excel读取日期为String并使用TalendDate.parseDate将其转换为日期(" yyyy-MM-dd HH:mm:ss",&# 34;&#34)
输入 - > tmap - > tmssqloutput components。
答案 1 :(得分:0)
您需要转换Talend作业中的类型。
以字符串形式读取日期,然后使用tConvertType组件将类型从字符串转换为具有特定日期格式的日期类型。然后,您应该能够以smalldatetime
数据类型