2

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

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

在哪里:

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

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

很抱歉,发生服务器错误。请稍等,然后重试。

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

stmt.setDate(counter, Jdbc.newDate(colValue));

请告知如何解决此问题。

4

2 回答 2

0

看起来这可能是类型混淆的问题。Jdbc.newDate()需要一个整数作为参数。您可能正在提供一个日期对象(取决于数据在电子表格中的存储方式)。

假设您将对象作为日期存储在电子表格中,您可以尝试使用Jdbc.newDate(colValue.getTime()).

于 2013-02-28T15:32:31.923 回答
0

最后对我有用的代码是:

// 遍历电子表格记录,

var tempDate = Utilities.formatDate(colValue, "IST",  "yyyy-MM-dd HH:mm:ss");
stmt.setObject(counter, tempDate);

在哪里:

  • colValue:是从电子表格中读取的列的值

  • 计数器:是索引,我必须在其中插入值

使用上面的代码,我能够从电子表格中读取日期并将其插入到云 SQL 数据库中表的列(日期时间类型)中。

于 2013-03-13T10:31:27.900 回答