Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
// optional BulkLoad options
const options = {keepNulls: true}
// instantiate - provide the table where you'll be inserting to, options and a callback
const bulkLoad = connection.newBulkLoad(`${config.Sql.Database}.[mtc_admin].[pupil]`, options, function (error, rowCount) {
if (error) {
console.error('import failed...')
console.error(error)
}
console.log('inserted %d rows', rowCount)
})
// setup your columns - always indicate whether the column is nullable
// TODO add all fields that are being imported to this list
bulkLoad.addColumn('school_id', TYPES.Int, {nullable: false})
bulkLoad.addColumn('upn', TYPES.Char, {length: 13, nullable: false})
bulkLoad.addColumn('lastName', TYPES.NVarChar, {length: 'max', nullable: false})
bulkLoad.addColumn('foreName', TYPES.NVarChar, {length: 'max', nullable: false})
bulkLoad.addColumn('middleNames', TYPES.NVarChar, {length: 'max', nullable: true})
bulkLoad.addColumn('gender', TYPES.Char, {length: 1, nullable: false})
bulkLoad.addColumn('dateOfBirth', TYPES.DateTimeOffset, {nullable: false})
const schools = schoolLookupDisabled ? schoolData : await schoolLookup(csvPayload)
for (let index = 0; index < csvPayload.length; index++) {
const csvRow = csvPayload[index]
const dfeNumber = `${csvRow[0]}${csvRow[1]}`
const school = schools.find(s => s.dfeNumber === parseInt(dfeNumber))
const schoolId = school && school.id
if (!schoolId) {
console.error(`School id not found for DfeNumber ${dfeNumber}`)
process.exit(1)
function executeStatement1() {
request = new Request("INSERT SalesLT.Product (Name, ProductNumber, StandardCost, ListPrice, SellStartDate) OUTPUT INSERTED.ProductID VALUES (@Name, @Number, @Cost, @Price, CURRENT_TIMESTAMP);", function(err) {
if (err) {
console.log(err);}
});
request.addParameter('Name', TYPES.NVarChar,'SQL Server Express 2014');
request.addParameter('Number', TYPES.NVarChar , 'SQLEXPRESS2014');
request.addParameter('Cost', TYPES.Int, 11);
request.addParameter('Price', TYPES.Int,11);
request.on('row', function(columns) {
columns.forEach(function(column) {
if (column.value === null) {
console.log('NULL');
} else {
console.log("Product id of inserted item is " + column.value);
}
});
});
connection.execSql(request);
}
connection.on('connect', function(err){
var request = new Request("INSERT INTO MyTable (uniqueIdCol, intCol, nVarCharCol) VALUES (@uniqueIdVal, @intVal, @nVarCharVal)",
function(err){
if(err){
console.log(err);
};
});
request.addParameter('uniqueIdVal', TYPES.UniqueIdentifierN,'ba46b824-487b-4e7d-8fb9-703acdf954e5');
request.addParameter('intVal', TYPES.Int, 435);
request.addParameter('nVarCharVal', TYPES.NVarChar, 'hello world');
connection.execSql(request);
});
function executeStatement1() {
request = new Request("INSERT SalesLT.Product (Name, ProductNumber, StandardCost, ListPrice, SellStartDate) OUTPUT INSERTED.ProductID VALUES (@Name, @Number, @Cost, @Price, CURRENT_TIMESTAMP);", function(err) {
if (err) {
console.log(err);}
});
request.addParameter('Name', TYPES.NVarChar,'SQL Server Express 2014');
request.addParameter('Number', TYPES.NVarChar , 'SQLEXPRESS2014');
request.addParameter('Cost', TYPES.Int, 11);
request.addParameter('Price', TYPES.Int,11);
request.on('row', function(columns) {
columns.forEach(function(column) {
if (column.value === null) {
console.log('NULL');
} else {
console.log("Product id of inserted item is " + column.value);
}
});
});
connection.execSql(request);
}
const insertResult = await mssql.executeProc("Login_Insert", sqlRequest => {
sqlRequest.addParameter("FirstName", TYPES.NVarChar, firstName);
sqlRequest.addParameter("LastName", TYPES.NVarChar, lastName);
sqlRequest.addParameter("Email", TYPES.NVarChar, email);
sqlRequest.addParameter(
"PasswordHash",
TYPES.NVarChar,
model.passwordHash
);
sqlRequest.addOutputParameter("id", TYPES.Int, null);
});
if (insertResult) {
return mssql.executeProc("CalculationRule_Delete", sqlRequest => {
sqlRequest.addParameter("Id", TYPES.Int, id);
});
};
resolve()
return
}
const response = rows.reduce((acc, current) => {
const key = current.metadata.colName
acc[key] = current.value
return acc
}, {})
response.message_body = response.message_body.toString()
resolve(response)
})
request.addParameter('count', TYPES.Int, count)
request.addParameter('timeout', TYPES.Int, timeout)
this._connection.execSql(request)
})
}
value: loadingTimeLimit,
type: TYPES.Decimal,
scale: 2,
precision: 5
},
{
name: 'questionTimeLimit',
value: questionTimeLimit,
type: TYPES.Decimal,
scale: 2,
precision: 5
},
{
name: 'userId',
value: userId,
type: TYPES.Int
}
]
return sqlService.modify(sql, params)
}
const insertResult = await mssql.executeProc("Login_Insert", sqlRequest => {
sqlRequest.addParameter("FirstName", TYPES.NVarChar, firstName);
sqlRequest.addParameter("LastName", TYPES.NVarChar, lastName);
sqlRequest.addParameter("Email", TYPES.NVarChar, email);
sqlRequest.addParameter(
"PasswordHash",
TYPES.NVarChar,
model.passwordHash
);
sqlRequest.addOutputParameter("id", TYPES.Int, null);
});
if (insertResult) {
type: TYPES.NVarChar
},
{
name: 'name',
value: name,
type: TYPES.NVarChar
},
{
name: 'urn',
value: urn,
type: TYPES.Int
},
{
name: 'dfeNumber',
value: dfeNumber,
type: TYPES.Int
}
]
const sql = `INSERT INTO ${sqlService.adminSchema}.school
(leaCode, estabCode, name, urn, dfeNumber)
VALUES (999, @estabCode, @name, @urn, @dfeNumber)`
await sqlService.query(sql, params)
}
winston.info('Schools generated')
} catch (error) {
winston.info(error)
process.exitCode = 1
sqlPoolService.drain()
}
}