Я знаю, что эта ошибка была указана несколько раз. Я прошел все предыдущие вопросы и думаю, что моя ситуация уникальна.
Это уникально, так как предполагается, что скрипт должен корректировать значения вставки в зависимости от количества заголовков в листе.
В конце, никакие вставки не сделаны к серверу SQL.
[[3333096.0, LOADER, 05:30:22, 08/30/2018 05:30:22, 08/30/2018, ACCOUNT HAS BEEN SENT TO Agency STATSUS CHANGED FROM |originalstatus| TO |teststatus| ASSIGNEDTO CHANGE FROM |originalstatus| TO |testassigned| PORTFOLIO NAME: |PORTFOLIOX|],
[, , , , , ],
[, , , , , ],
[, , , , , ],
[, , , , , ],
[, , , , , ],
[, , , , , ],
[, , , , , ],
[, , , , , ],
[, , , , , ]
function dboupdate() {
var data = getData()
var headerstring = [1]
data = data[0]
try {
var start = new Date();
var conn = Jdbc.getConnection("X");
var sql = 'INSERT INTO ' + tablename + headerstring ;
Logger.log(sql);
var stmt = conn.prepareStatement(sql);
for (var r in data) {
Logger.log(data[r]);
for (var c in data[r]) {
stmt.setString(parseInt(c) +1 , data[r][c]);
}
stmt.addBatch();
}
var batch = stmt.executeBatch();
conn.commit();
conn.close();
var end = new date();
} catch (err) {
SpreadsheetApp.getActive().toast(err.message);
Logger.log(err.message);
}
}
function getData(){
var app = SpreadsheetApp;
// (filenumber, collectorname, logtime, logdateandtime, logdate,logmessage) VALUES (?,?,?,?,?,?)
var ss = app.openById('X') ;
var importSheet = ss.getSheetByName('DBOlog');
var data = importSheet.getDataRange().getValues();
var header = data[0];
var headerstring = header.join(',')
headerstring = '('+ headerstring + ') VALUES ('
var questions = Array(header.length +1).join('?').split('')
headerstring = headerstring + questions.join(',') + ')'
Logger.log(headerstring)
Logger.log(data.slice(1))
return [data.slice(1), headerstring]
}