gpt4 book ai didi

sql-server - Node Express 多个 SQL 服务器连接

转载 作者:行者123 更新时间:2023-12-05 06:39:21 28 4
gpt4 key购买 nike

我需要连接到不同服务器上的不同数据库。服务器是 Microsoft SQL Server。

我是这样做的:

dbconfig.js

    var sql1 = require('mssql')
var sql2 = require('mssql')

var conn1 = {server:"SERVER IP", database:"db1", user:"foo", password:"foo", port:1433}

var conn2= {server:"SERVER2 IP", database:"db2", user:"foo2", password:"foo2", port:1433}

var server1= sql1.connect(conn1)
.then(function() { debug('Connected'); })
.catch(function(err) { debug('Error connect SQL Server', err); });

var server2= sql2.connect(conn2)
.then(function() { debug('Connected'); })
.catch(function(err) { debug('Error connect SQL Server', err); });

module.exports = {"ServerConn1": sql1, "ServerConn2": sql2};

在那之后,两个连接都处于事件状态,但是当我对第一个连接进行查询时它不起作用。

The error is Invalid object name 'FooDatabase.dbo.fooTable'.

谁能帮我解决这个问题?

谢谢!

最佳答案

我使用 MySQL 实现,您可以通过在创建连接之前传递空数据库参数和字母更新数据库来执行相同的操作 mssql。

而且您不需要两次导入,只需在创建连接或查询之前更新数据库名称即可。

const express = 

require('express');
const app = express();
const port = process.env.PORT || 80;
var http = require('http');
var mysql = require('mysql')
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',//here i am not passing db and db is undefined

});

app.get('/db1',function(req,res)
{
connection.config.database="task" //here i updating db name before query
connection.query('SELECT * FROM tasks', function (error, results, fields) {
console.log(results)
res.json(fields)
connection.end()
})
})

app.get('/db2',function(req,res)
{
connection.config.database="cg_taskview" //db2

connection.query('SELECT * FROM tasks', function (error, results, fields) {
if (error)
console.log(error);
console.log(results)
res.json(fields)
});
connection.end()

})

var server = http.createServer(app);
server.listen(port, function () {
})

关于sql-server - Node Express 多个 SQL 服务器连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44680319/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com