Files
universal_is/ems/src/utils/tedious.ts
2024-11-15 17:00:23 +09:00

69 lines
1.9 KiB
TypeScript

import { Connection, ConnectionConfiguration, Request } from "tedious";
const tediousConfig: ConnectionConfiguration = {
server: 'localhost',
options: {
trustServerCertificate: true,
port: 1433,
database: 'nGeneral'
},
authentication: {
type: 'default',
options: {
userName: 'SA',
password: 'oMhthmsvbYHc'
}
}
}
export function tediousQuery(query: string) {
// Read all rows from table
return new Promise((resolve, reject) => {
const connection = new Connection(tediousConfig)
connection.on('connect', (err) => {
if (err) {
reject(err)
return
}
const result: any = [];
const request = new Request(
query,
(err, rowCount) => {
if (err) {
console.log(`Executing ${query}, ${rowCount} rows.`);
console.error(err.message);
} else {
console.log(`Executing ${query}, ${rowCount} rows.`);
}
}
)
request.on("row", (columns) => {
const entry: any = {};
columns.forEach((column: any) => {
entry[column.metadata.colName] = column.value;
});
result.push(entry);
});
request.on('error', error => reject(error));// some error happened, reject the promise
request.on('requestCompleted', () => {
connection.close();
resolve(result)
}); // resolve the promise with the result rows.
connection.execSql(request)
})
connection.on('error', (err) => {
reject(err)
})
connection.connect()
});
}