Bri*_*tta 5 sql-server windows-authentication node.js npm
我试图连接node.js
到mssql
在Windows身份验证模式。我安装了tedious
,mssql
和msnodesqlv8
模块,但我仍然不知道如何打开连接。
这是我尝试过的:
var sql = require('mssql');
var config = {
driver: 'msnodesqlv8',
server: 'POPPY-GI\\SQLEXPRESS',
database: 'NodinSports',
options:{
trustedConnection: true,
useUTC: true}}
sql.connect(config).then(function() {
new sql.Request().query('select * from users')
.then(function(recordset){
console.log(recordset);
}).catch(function(err) {
console.log(err);});
}).catch(function(err) {
console.log(err);});
Run Code Online (Sandbox Code Playgroud)
运行后,我收到一个很长的错误消息:
`ConnectionError`: Port for `SQLEXPRESS` not found in
`ServerName`;POPPYGI;`InstanceName;SQLEXPRESS;IsClustered`;No;Version;12.0.2000.8;;
at Connection.tedious.once.err (D:\Never Lazy\University\`AN2, SEM 2\WEB\`Projek`\node_modules\`mssql`\lib\`tedious.js:216:17`)
at Connection.g (events.js:291:16)
at emitOne (events.js:96:13)
at Connection.emit (events.js:188:7)
at D:\Never Lazy\University\AN2,SEM2\WEB\Projekt\node_modules\tedious\lib\connection.js:570:27
at D:\Never Lazy\University\AN2,SEM2\WEB\Projekt\node_modules\tedious\lib\instance-lookup.js:91:24
at Socket.onMessage (D:\Never Lazy\University\AN2,SEM2\WEB\Projekt\node_modules\tedious\lib\sender.js:140:9)
at emitTwo (events.js:106:13)
at Socket.emit (events.js:191:7)
at UDP.onMessage (dgram.js:549:8)
code: 'EINSTLOOKUP',
Run Code Online (Sandbox Code Playgroud)
我真的很感激任何帮助。
固定的:
在services.msc
检查,如果以下已启用:
SQL Server(*server_name*) -- in my case `SQLEXPRESS`
SQL Server Browser
SQL Server Agent(*server_name*) -- if you are using `SQLEXPRESS` this doesn't need to run
Run Code Online (Sandbox Code Playgroud)
在 SQL Server 配置管理器 -> server_name 的协议中:启用TCP/IP
。
为了确保一切都会好起来的,检查服务器使用的端口(SQL Server配置管理器- > SQL Native Client配置- >客户端协议- >双击 TCP/IP
- >默认端口),并添加port: *your_port*
到代码var config = { ... }
。
最后,var sql = require('mssql');
改为var sql = require("mssql/msnodesqlv8");
安装以下模块:
"dependencies": {
"msnodesqlv8": "^0.4.14",
"mssql": "^4.1.0"
}
Run Code Online (Sandbox Code Playgroud)
我的节点版本:v8.1.4
const sql = require("mssql/msnodesqlv8");
const main = async () => {
const pool = new sql.ConnectionPool({
server: "myservername",
database: "mydbname",
options: {
trustedConnection: true
}
});
await pool.connect();
const request = new sql.Request(pool);
const query = `SELECT [FirstName]
,[LastName]
,[Email]
FROM [Dev].[Users]`;
const result = await request.query(query);
console.dir(result);
};
main();
Run Code Online (Sandbox Code Playgroud)
(您可以在没有异步或旧版本的情况下执行此操作:/sf/answers/2828489891/)
归档时间: |
|
查看次数: |
7364 次 |
最近记录: |