[英]SQL Server is not connecting with node app
我正在嘗試使用 Sequelize ORM 將我的 nodejs/express 應用程序連接到 SQL Server 2017。 這是我第一次使用 SQL Server。 我不確定問題出在哪里。
情況:-
我使用 SQL Server Management Studio 創建了一個數據庫
我在安全 > 登錄下創建了另一個用戶(例如:-用戶名、密碼)
並使該用戶成為該數據庫的所有者
問題:
當我嘗試使用 Management Studio(使用 SQL Server 身份驗證)連接到 SQL Server 時,每次都會建立連接。
但是當我嘗試將同一個數據庫與我的 nodejs 應用程序連接時,出現錯誤:
錯誤:- [SequelizeAccessDeniedError:用戶''的登錄失敗]##
注意:我已經嘗試過mssql
npm 包,但無法從 nodejs 連接到 SQL Server
這是我使用 sequelize 編寫 index.js 文件的代碼
const express = require('express');
const app = express();
const Sequelize = require('sequelize');
const sequelize = new Sequelize("demo", "demoUser", "dPass", {
host: "localhost",
dialect: "mssql",
pool: {
max: 1,
min: 0,
idle: 5000,
acquire: 5000
},
dialectOptions: {
encrypt: true
}
});
sequelize
.authenticate()
.then(() => {
console.log("connection established");
})
.catch(err => {
if (err) {
console.log(`unable to connect database Error ${err}`);
}
});
app.listen(3000, (err) => {
if (err) throw err;
console.log("Server connect to port 3000");
})
你必須添加 npm 包sequelize-msnodesqlv8
const Sequelize = require('sequelize'); let connectionString = { dialect: 'mssql', dialectModulePath: 'msnodesqlv8/lib/sequelize', dialectOptions: { driver: "SQL Server Native Client 11.0", instanceName: 'MSSQLSERVER',//in my condition //check it in server configuration manager which instance is running trustedConnection: true }, host: 'localhost', database: 'dbname' } const sequelize = new Sequelize(connectionString);
驅動程序-轉到 odbc 驅動程序
然后在“系統 dns”選項卡中
添加
選擇 SQL Server Native Client 11.0 然后按完成
將名稱設為 SQL Server Native Client 11.0 然后從下拉列表中選擇服務器然后下一步
下一個
下一個
下一個
結束
測試數據源
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.