I am trying to perform an insert statement, and am getting the following error: Error: NJS-044: named JSON object is not expected in this context.
var doconnect = function(
cb) {
oracledb.getConnection(serviceConfig, cb);
console.log("oracle connected");
};
var dorelease = function(conn) {
conn.close(function(err) {
if (err) console.error(err.message);
});
};
var doinsert = function(conn, cb) {
var sql =
"INSERT INTO WU_SOURCE_RECORDS VALUES (:SOURCE_RECORD_ID, :DWR_SOURCE_ID, :HISTORY_YEAR, :JAN_ACFT, :FEB_ACFT, :MAR_ACFT, :APR_ACFT, :MAY_ACFT, :JUN_ACFT, :JUL_ACFT, :AUG_ACFT, :SEP_ACFT, :OCT_ACFT, :NOV_ACFT, :DEC_ACFT, :ANNUAL_ACFT, :MEASURE_UNITS)";
var binds = [
{
SOURCE_RECORD_ID: 123456,
DWR_SOURCE_ID: 987456,
HISTORY_YEAR: 1999,
JAN_ACFT: 1,
FEB_ACFT: 4,
MAR_ACFT: 2,
APR_ACFT: 6,
MAY_ACFT: 1,
JUN_ACFT: 3,
JUL_ACFT: 4,
AUG_ACFT: 0,
SEP_ACFT: 0,
OCT_ACFT: 3,
NOV_ACFT: 2,
DEC_ACFT: 10,
ANNUAL_ACFT: 143,
MEASURE_UNITS: "acre feet"
}
];
var options = {
autoCommit: true
/*bindDefs: {
a: { type: oracledb.NUMBER },
b: { type: oracledb.STRING, maxSize: 15 }
}*/
};
conn.execute(sql, binds, options, function(err, result) {
console.log("in execute");
console.log(sql, binds, options);
if (err) {
console.log(err);
return cb(err, conn);
} else {
console.log("Result is:", result);
return cb(null, conn);
}
});
};
async.waterfall([doconnect, doinsert], function(err, conn) {
if (err) {
console.error("In waterfall error cb: ==>", err, "<==");
}
if (conn) dorelease(conn);
});