Issue
I am getting the error below while connecting to SQL Server from node.js using mssql package.
PS F:\Visual Studio Code\NodeSQLServer> node dboperations.js
TypeError: Cannot read properties of undefined (reading 'port')
at new ConnectionPool (F:\Visual Studio Code\NodeSQLServer\node_modules\mssql\lib\base\connection-pool.js:60:36)
at new ConnectionPool (F:\Visual Studio Code\NodeSQLServer\node_modules\mssql\lib\tedious\connection-pool.js:10:1)
at Object.connect (F:\Visual Studio Code\NodeSQLServer\node_modules\mssql\lib\global-connection.js:18:24)
at getResult (F:\Visual Studio Code\NodeSQLServer\dboperations.js:6:36)
at Object.<anonymous> (F:\Visual Studio Code\NodeSQLServer\dboperations.js:16:1)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
undefined
I have created two js files to fetch required data from SQL Server.
First file is dbconfig.js. Code of the file is below:
const config = {
user : 'Tableau',
password : 'tableau@2023',
server : 'DESKTOP-I933IRB',
database : 'Rane',
port : 1433,
options : {
trustedConnection : true,
enableArithAbort : true,
instancename : 'SQLEXPRESS',
encrypt : true,
trustServerCertificate : true
}
};
module.exports = config;
second file is dboperations.js with the code below:
let { config } = require('./dbconfig');
const sqlServer = require('mssql');
const getResult = async ()=>{
try{
let pool = await sqlServer.connect(config);
let result = await pool.request().query('Select top 5 * From config_table_master');
//console.log(result.recordsets);
return result.recordsets;
}
catch(e){
console.log(e);
}
}
getResult().then(result => {
console.log(result);
})
Besides, the query is running fine on SSMS.
Please, let me know why the error occurred and how can I avoid such errors in the future.
Solution
You should change your import statement since you are doing a default export:
let config = require('./dbconfig');
For more info check this out.
Answered By – lpizzinidev
This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0