问题描述
我有一个文件 CreateNewUserID.js
,其代码如下。
const Connection = require('./database/Connection')
const createNewUserID = async(connData,userId) => {
try{
var getConn = await Connection.get().getConn();
const query = `exec BaseDB.get_client_info`
var clientusers = await getConn.query(query);
var getConn1 = await Connection.get().getConnection(connData)
var res = await getConn1.execute('BaseDB.get_all_existing_users');
res.recordsets[1].map(async (val) => {
try{
var newid = val.id+'NEWID';
var getConn2 = await Connection.get().getConnection(connData)
getConn2.input('userid',userid)
getConn2.input('updatedid',newid)
var res2 = await getConn2.execute(`BaseDB.update_users_with_newid`)
} catch (err) {
console.log(err)
return { err,message: 'First DB Connection' }
}
})
} catch (err) {
console.log(err)
return { err,message: 'Second DB Connection' }
}
}
const connData = {
"clientuserid": "12345"
}
createNewUserID(connData)
此外,我有一个 Connection.js
,我在其中进行了基本数据库和客户端 DB 的数据库连接配置。客户端 DB 数据库将是动态的。所以,现在我通过常量 connData
传递数据库名称。我已经在 CreateNewUserID.js
的同一个文件中定义了 connData。
我的 Connection.js
如下:
const sql = require('mssql')
class Connection {
// CONNECTION CONfigURATION OF CLIENT DB
getConnection = async (conData) => {
const connData = JSON.parse(conData)
try {
// sql.close();
const config = {
user: process.env.sql_USER,password: process.env.sql_PASSWORD,server: process.env.sql_SERVER,database: connData.clientuserid
}
const pool = await new sql.ConnectionPool(config)
const req=await pool.connect()
const conn = await req.request()
// const req = await sql.connect(config)
// const conn = await req.request()
return conn;
} catch (err) {
return err;
}
};
// CONNECTION CONfigURATION OF BASE DB
getConn = async () => {
try {
// sql.close();
const config = {
user: process.env.sql_USER,database: process.env.sql_DATABASE
}
const pool = await new sql.ConnectionPool(config)
const req=await pool.connect()
const conn = await req.request()
// const req = await sql.connect(config)
// const conn = await req.request()
return conn;
} catch (err) {
return err;
}
};
}
Connection.__instance = null;
Connection.get = () => {
if (!Connection.__instance) {
Connection.__instance = new Connection();
}
return Connection.__instance;
};
module.exports = Connection;
当我尝试使用命令 node CreateNewUserID.js
通过 CMD 运行文件时,我在第一次使用消息 unexpected token 0 in json at position 1
时收到错误为 "First DB connection"
。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)