我正在尝试使用msnodesqlv8驱动程序连接到SQL Server。现在我在尝试连接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 server 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'登录失败。
答案 0 :(得分:3)
阅读documentation;没有这样的功能。
您正在寻找sql.open()
。
答案 1 :(得分:3)
如果您正在尝试连接到MySQL服务器,您可以使用Sequelizejs,您可以找到文档here,如果您尝试使用msnodesqlv8连接到MSSQl,则可以使用sql.open(connStr, callback(err, conn))
。你可以找到例子here。
在这两种情况下,请确保您的MySQL或MSSQL服务器正在运行。 您也可以使用Sequelizejs连接到MSSQL。
答案 2 :(得分:0)
对我来说,将此条件从“否”更改为“是” 有效:
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
中硬编码了这个更改