node.js - TypeError:“config.server”属性是必需的,并且必须是字符串类型
问题描述
面对错误
数据库连接失败!错误配置:TypeError:“config.server”属性是必需的,并且必须是字符串类型。在 base.Promise (D:\License Generation\node_modules\mssql\lib\tedious.js:237:23) 处的新连接 (D:\License Generation\node_modules\tedious\lib\connection.js:87:13) ConnectionPool._pool 处的新 Promise () 在 ConnectionPool._connect 处创建 (D:\License Generation\node_modules\mssql\lib\tedious.js:195:12) (D:\License Generation\node_modules\mssql\lib\base.js: 245:10) 在 PromiseLibrary (D:\License Generation\node_modules\mssql\lib\base.js:220:19) 在 ConnectionPool.connect (D:\License Generation\node_modules\mssql\lib\base 的新 Promise () .js:219:12) 在对象。(D:\License Generation\dbConfig.js:6:2) 在 Module._compile (internal/modules/cjs/loader.js:689:30)
配置文件
//Database Configuration
const dbconfiguration = {
server: 'xyz',
user: 'fdf',
password: 'safgfg',
database: 'License_Keys',
port: 1433
};
module.exports = dbconfiguration;
const sqlInstance = require('mssql');
const configFile = require('./app.config');
//connect to your database
const poolPromise = new sqlInstance.ConnectionPool(configFile.dbconfiguration)
.connect()
.then(pool => {
console.log('Connected to MSSQL')
return pool
})
.catch(err => console.log('Database Connection Failed! Bad Config: ', err))
module.exports = poolPromise;
解决方案
直接使用 required configFile
,因为您要从该文件中导出单个 const 变量对象,所以您不需要像访问它一样configFile.dbconfiguration
这应该工作,
sqlInstance.ConnectionPool(configFile)
注意:为了消除混淆,您也可以像这样导出数据库配置,
//Database Configuration
module.exports = {
server: 'xyz',
user: 'fdf',
password: 'safgfg',
database: 'License_Keys',
port: 1433
};
推荐阅读
- php - 如何提前1小时
- asp.net-mvc - Telerik report table data are not set in proper way
- android - 如何将我的 android 应用程序下载到我的计算机,以便我可以在 Android Studio 中修复它
- c# - Get entity by field value in ASP.NET Core 3.1
- java - Androidx SearchView Attempt to invoke virtual method 'void androidx.appcompat.widget.SearchView.setOnQueryTextListener
- .net - Implement lambda layer in lambda function using .net
- python - How can I maintain Django database entries after making migrations and pushing changes to Git?
- r - How do you remove the academic and demos sections from the main page of the Academic hugo theme when using blogdown?
- teradata - Teradata - Calculate the previous quarter date start date and end date from current date
- ibm-cloud - 如何在 Gstreamer (Python) 中流式传输音频