尝试解析日期时遇到服务器错误

时间:2013-02-28 14:43:20

标签: google-apps-script google-cloud-sql

我在编码逻辑中将数据从CSV导入Google电子表格。作为下一步,我尝试使用JDBC服务将复制的数据推送到Cloud SQL实例。我有一个类型为DateTime的列(在后端)。逻辑中将数据从spreadhseet推送到Cloud SQL我使用Jdbc.parseDate()方法将电子表格中的值转换为Mysql / Cloud SQL。

ex:stmt.setDate(counter, Jdbc.parseDate(colValue));

其中:

  1. 计数器是索引和
  2. colValue是Google电子表格
  3. 列下的值

    在尝试这样做时,我收到错误:

      

    很抱歉,发生了服务器错误。请稍等一下再试一次。

    我没有收到任何错误,即使我使用

    也没有
    stmt.setDate(counter, Jdbc.newDate(colValue));
    

    请告知如何解决这个问题。

2 个答案:

答案 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类型)列中。