使用 msnodesqlv8 的节点信任连接
Node trusted connection using msnodesqlv8
我正在尝试使用 msnodesqlv8 驱动程序连接到 SQL 服务器。现在我在尝试连接 msql 驱动程序之前遇到错误(TypeError:sql.connect 不是函数)并且我得到了响应,但我确实需要使用受信任的连接。
我的代码:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
var sql = require("msnodesqlv8");
console.log(sql);
// config for your database
var config = {
server: 'sqlServername',
database: 'myTestDatabase',
driver: "msnodesqlv8",
options: {
trustedConnection: true
}
};
// connect to your database
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
request.query('select * from myTable', function (err, recordset) {
if (err) console.log(err)
// send records as a response
res.send(recordset);
});
});
});
var server = app.listen(5000, function () {
console.log('Server is running..');
});
是否有任何其他驱动程序可以使用可信连接?
我正在使用 sql 服务器 12.0.4237.0
我也试试这个
const sql = require('mssql/msnodesqlv8');
const config = {
user: "xxxxxxxx",
password: "xxxxxxxxx",
domain: "xxxxxxx.com",
server: 'hubuddb66',
database: 'KSheduler',
pool: {
max: 10,
min: 0,
idleTimeoutMillis: 30000
},
options: {
trustedConnection: true
}
}
sql.connect(config)
.then(conn => console.log("Success!"))
.catch(err => console.log("error! " + err));
我收到此错误:
ConnectionError:[Microsoft][SQL Server Native Client 11.0][SQL Server] 用户 'domainxxx\userxxxx'.
登录失败
阅读documentation;没有这个功能。
您正在寻找 sql.open()
。
如果您尝试连接到 MySQL 服务器,您可以使用 Sequelizejs,您可以找到文档 here, If you're trying to connect to MSSQl using msnodesqlv8 you can use sql.open(connStr, callback(err, conn))
. you can find examples here。
在这两种情况下,请确保您的 MySQL 或 MSSQL 服务器是 运行。
您还可以使用 Sequelizejs 连接到 MSSQL。
对我来说,将此条件从 'No' 更改为 'Yes' 有效:
switch (key) {
case 'instance':
return this.config.options.instanceName
case 'trusted':
return this.config.options.trustedConnection ? 'Yes' : 'Yes'
即使我提供了它,它也不会从选项对象加载值。
我在文件 \node_modules\mssql\lib\msnodesqlv8\connection-pool.js
中硬编码了此更改
我正在尝试使用 msnodesqlv8 驱动程序连接到 SQL 服务器。现在我在尝试连接 msql 驱动程序之前遇到错误(TypeError:sql.connect 不是函数)并且我得到了响应,但我确实需要使用受信任的连接。 我的代码:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
var sql = require("msnodesqlv8");
console.log(sql);
// config for your database
var config = {
server: 'sqlServername',
database: 'myTestDatabase',
driver: "msnodesqlv8",
options: {
trustedConnection: true
}
};
// connect to your database
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
request.query('select * from myTable', function (err, recordset) {
if (err) console.log(err)
// send records as a response
res.send(recordset);
});
});
});
var server = app.listen(5000, function () {
console.log('Server is running..');
});
是否有任何其他驱动程序可以使用可信连接? 我正在使用 sql 服务器 12.0.4237.0
我也试试这个
const sql = require('mssql/msnodesqlv8');
const config = {
user: "xxxxxxxx",
password: "xxxxxxxxx",
domain: "xxxxxxx.com",
server: 'hubuddb66',
database: 'KSheduler',
pool: {
max: 10,
min: 0,
idleTimeoutMillis: 30000
},
options: {
trustedConnection: true
}
}
sql.connect(config)
.then(conn => console.log("Success!"))
.catch(err => console.log("error! " + err));
我收到此错误:
ConnectionError:[Microsoft][SQL Server Native Client 11.0][SQL Server] 用户 'domainxxx\userxxxx'.
登录失败阅读documentation;没有这个功能。
您正在寻找 sql.open()
。
如果您尝试连接到 MySQL 服务器,您可以使用 Sequelizejs,您可以找到文档 here, If you're trying to connect to MSSQl using msnodesqlv8 you can use sql.open(connStr, callback(err, conn))
. you can find examples here。
在这两种情况下,请确保您的 MySQL 或 MSSQL 服务器是 运行。 您还可以使用 Sequelizejs 连接到 MSSQL。
对我来说,将此条件从 'No' 更改为 'Yes' 有效:
switch (key) {
case 'instance':
return this.config.options.instanceName
case 'trusted':
return this.config.options.trustedConnection ? 'Yes' : 'Yes'
即使我提供了它,它也不会从选项对象加载值。
我在文件 \node_modules\mssql\lib\msnodesqlv8\connection-pool.js
中硬编码了此更改