-
Notifications
You must be signed in to change notification settings - Fork 2
/
sqltest.js
56 lines (48 loc) · 1.63 KB
/
sqltest.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
const sql = require('mssql');
require('dotenv').config()
//dotenv.config({ path: `.env.${process.env.NODE_ENV}`, debug: true });
const server = process.env.DB_SERVER;
const user = process.env.DB_USER;
const password = process.env.DB_PASSWORD
const database = process.env.DB_NAME;
const port = parseInt(process.env.DB_PORT);
const config = {
server: server,
user: user,
password: password,
port: port,
database: database,
authentication: {
type: 'default'
},
options: {
encrypt: true
}
}
console.log("Starting...");
connectAndQuery();
async function connectAndQuery() {
try {
var poolConnection = await sql.connect(config);
console.log("Reading rows from the Table...");
var resultSet = await poolConnection.request().query(`SELECT TOP 20 pc.name as CategoryName,
p.name as ProductName
FROM [dbo].[ProductCategory] pc
JOIN [dbo].[Product] p ON pc.productcategoryid = p.productcategoryid`);
console.log(`${resultSet.recordset.length} rows returned.`);
// output column headers
var columns = "";
for (var column in resultSet.recordset.columns) {
columns += column + ", ";
}
console.log("%s\t", columns.substring(0, columns.length - 2));
// ouput row contents from default record set
resultSet.recordset.forEach(row => {
console.log("%s\t%s", row.CategoryName, row.ProductName);
});
// close connection only when we're certain application is finished
poolConnection.close();
} catch (err) {
console.error(err.message);
}
}