node.js - 如何使用 node.js 在 Windows 身份验证模式下连接 SQL Server
问题描述
我想使用带有“mssql”包的 node.js 以 Windows 身份验证模式连接 SQL Server。下面的代码通过提供用户名和密码与 SQL Server 身份验证一起工作。
var sql = require("mssql");
// config for your database
var config = {
server: XXXX',
database: 'XXX' ,
options: {
trustedconnection:true,
encrypt: false, // Use this if you're on Windows Azure
}
};
function GetDatatable()
{
return new Promise( (resolve, reject) => {
sql.connect(config, function (err) {
if (err) console.log(err);
// create Request object
var request = new sql.Request();
// query to the database and get the records
var query='select Id,statusCode,from test';
request.query(query, function (err, recordset) {
var recordSetItem = recordset.recordset;
for(var i=0;i<recordSetItem.length;i++) {
var row=recordSetItem[i];
var basePath=row['baseUri'];
if(fullPath.lastIndexOf(basePath) > -1)
{
operationId=row['Id'];
}
}
if(operationId)
{
query='select * from tbltest';
request.query(query, function (err, scenarioRecordset) {
var subRecordSet = scenarioRecordset.recordset;
var xmlResponse= validateScenario (subRecordSet,fullPath,bodyRequest);
console.log(xmlResponse);
// let responseObject = {
// "id": "1",
// "statusCode": "200"
// };
resolve('responseObject');
});
}
});
});
});
收到错误消息“登录失败”
解决方案
我相信你需要使用 msnodesqlv8 模块,你必须安装
npm install msnodesqlv8
然后(例如):
const sql = require('mssql/msnodesqlv8')
const pool = new sql.ConnectionPool({
database: 'database',
server: 'localhost',
options: {
trustedConnection: true
}
})
async function testConnection() {
await pool.connect();
let result = await pool.request().query("select 42 as the_answer_to_life_the_universe_and_everything");
console.log("Result: ", result);
}
testConnection();
有关更多信息,请参见此处:mssql v8driver
推荐阅读
- powershell - 对powershell Array对象中的2列进行排序以查找差异
- python - 在 Python 中使用循环替换字符串
- mongodb - mongodb验证jsonschema +表达查询未能插入文档
- node.js - 在特定主页上的 Chrome 开发人员工具的网络选项卡上从 websocket 接收数据
- ios - UIImageView 显示图像时如何防止 UIToolbar 调整大小?
- python - 如何对字符串中的日期进行排序?(Python)
- ios - 如何在 ARSCNFaceGeometry 网格周围绘制自定义边界
- docker - 如何使用本地 nuget 包源进行 Dockerfile dotnet restore
- php - 导入的 csv 文件无法在 laravel 中显示
- android - 如何连接或使用 NDK 和 Nativescript vuejs