2013-02-28 7 views
2

У меня закодированная логика, где я импортирую данные из CSV в Google Spreadsheet. В качестве следующего шага я пытаюсь переместить скопированные данные в экземпляр Cloud SQL с помощью службы JDBC. У меня есть одна колонка, которая имеет тип DateTime (в бэкэнд). в логике, которая будет выталкивать данные из дистрибутива в Cloud SQL. Я использую метод Jdbc.parseDate() для преобразования значения в таблицу в Mysql/Cloud SQL.Ошибка аутентифицированного сервера при попытке разобрать дату

например: stmt.setDate(counter, Jdbc.parseDate(colValue));

Где:

  1. счетчик индекса и
  2. colValue это значение в столбце в таблице Google

В утра попытке сделать так , я получаю ошибку:

We're sorry, a server error occurred. Please wait a bit and try again.

я не получил какой-либо ошибки в противном случае, даже если я использую

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

Пожалуйста, посоветуйте, как это может быть решена.

ответ

0

Наконец код, который работал для меня:

// Итерация через электронные таблицы записей,

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

Где:

  • colValue: это значение из колонки из таблицы

  • счетчик: это индекс, где я должен вставлять значение

Используя выше кода я был в состоянии прочитать дату из таблицы и вставить его в колонке (типа DateTime) из таблицы в базе облака SQL.

0

Похоже, что это может быть проблема путаницы типа. Jdbc.newDate() ожидает целое число в качестве аргумента. Возможно, вы предоставляете объект даты (в зависимости от того, как данные хранятся в вашей электронной таблице).

Предполагая, что вы храните объект в качестве даты в электронной таблице, вы можете исправить это, используя Jdbc.newDate(colValue.getTime()).

+0

Мое намерение - разобрать дату. Дата отображается как «9/8/2012 9:21:09» в Таблице. Когда я читаю данные электронных таблиц, используя сценарий приложений, я вижу (просмотр журналов) даты как «Сб Сен 08 2012 09:21:09 GMT + 0530 (IST)» в журналах. Поэтому, прежде чем нажимать данные на бэкэнд, я пытаюсь преобразовать дату, используя метод Jdbc.parseDate (colValue). Здесь я получаю ошибку. – user1868355

+0

Это потому, что электронная таблица предоставляет вам значение как объект даты javascript. Вы попробовали код, который я предоставил? 'Jdbc.newDate (colValue.getTime())'? –

+0

При этом var dt = Jdbc.newDate (colValue.getTime()); Я получаю output = Date. Выполнение ниже регистратора, Logger.log ("test ::" + dt.getTime()); Результат, который я получаю, - это дата и время в формате Epoch. Я хочу, чтобы данные столбцов были перенесены в Cloud SQL. Пожалуйста, сообщите, как это достичь. – user1868355

Смежные вопросы