我在编码逻辑中将数据从CSV导入Google电子表格。作为下一步,我尝试使用JDBC服务将复制的数据推送到Cloud SQL实例。我有一个类型为DateTime
的列(在后端)。逻辑中将数据从spreadhseet推送到Cloud SQL我使用Jdbc.parseDate()
方法将电子表格中的值转换为Mysql / Cloud SQL。
ex:stmt.setDate(counter, Jdbc.parseDate(colValue));
其中:的
在尝试这样做时,我收到错误:
很抱歉,发生了服务器错误。请稍等一下再试一次。
我没有收到任何错误,即使我使用
也没有stmt.setDate(counter, Jdbc.newDate(colValue));
请告知如何解决这个问题。
答案 0 :(得分:0)
看起来它可能是类型混淆的问题。 Jdbc.newDate()
期望一个整数作为参数。您可能提供了一个日期对象(取决于数据在电子表格中的存储方式)。
假设您将对象存储为电子表格中的日期,您可以尝试使用Jdbc.newDate(colValue.getTime())
来解决此问题。
答案 1 :(得分:0)
最后,对我有用的代码是:
//遍历电子表格记录,
var tempDate = Utilities.formatDate(colValue, "IST", "yyyy-MM-dd HH:mm:ss");
stmt.setObject(counter, tempDate);
<强>其中:强>
colValue:是从电子表格中读取的列的值
counter:是索引,我必须插入值
使用上面的代码我能够从电子表格中读取日期并将其插入到云SQL数据库中的表(DateTime类型)列中。