问题描述
如何使用量角器创建Azure sql数据库连接?任何人都可以帮助使用Typescript编写的代码吗?
解决方法
您可以使用乏味的mmmmsql,sequelize和其他库来在nodejs中操作sqlserver数据库。
例如:
MSDBClient.ts
import mssql = require('mssql');
// 定义数据查询回调接口
export declare type OnQueryCallback = (err: Error,rc: any) => void
export declare type OnExecCallback = (err: Error,rc: boolean) => void
export class MSSQLDBClient {
// url
constr: string;
constructor(username: string,password: string,host: string,port: number,dbName: string) {
this.constr = this.constr = `mssql://${username}:${password}@${host}:${port}/${dbName}`;
mssql.connect(this.constr).then(function () {
console.log('----------------');
console.log('-login success-');
console.log('----------------');
}).catch(function (err) {
console.log(err);
})
}
public async query(strSql: string,cb: OnQueryCallback) {
try {
await mssql.connect(this.constr).then(function() {
new mssql.Request().query(strSql).then(function(result) {
// console.log(result);
if (cb) cb(null,result);
}).catch(function(err) {
console.log(err);
if (cb) cb(err,null);
});
// Stored Procedure
}).catch(function(err) {
console.log(err);
if (cb) cb(err,null);
})
} catch (err) {
console.log(err);
if (cb) cb(err,null);
}
}
public async exec(strSql: string,cb: OnExecCallback) {
await mssql.connect(this.constr,function () {
mssql.query(strSql,function (err,data) {
if (err) {
if (cb) cb(err,false);
} else {
if (cb) cb(null,true);
mssql.close();
}
});
}
);
}
}