gpt4 book ai didi

mysql - 如何在 mysql npm 的连接选项中提供 SERVICE_NAME ?

转载 作者:行者123 更新时间:2023-11-29 18:25:27 25 4
gpt4 key购买 nike

我有一个类似这样的 JDBC 连接字符串

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=OFF)(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1711))(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1712)))(CONNECT_DATA=(SERVICE_NAME=servicename)(SERVER=DEDICATED)))

我已将连接创建为

var connection = mysql.createConnection({
host: "hostname",
port: "1711",
user: "user",
password: "password"
});

如何向连接选项提供 SERVICE_NAME(如 jdbc 字符串)?如果没有它,我会收到以下错误:

Error: connect ECONNREFUSED <some_ip>:1711
at Object.exports._errnoException (util.js:1028:11)
at exports._exceptionWithHostPort (util.js:1051:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
--------------------

编辑:在花费了大量时间后,将端口更改为 1712 会出现不同的错误。

Error: Connection lost: The server closed the connection.
at Protocol.end (..\node_modules\mysql\lib\protocol\Protocol.js:113:13)
at Socket.<anonymous> (..\node_modules\mysql\lib\Connection.js:109:28)
at emitNone (events.js:91:20)
at Socket.emit (events.js:186:7)
at endReadableNT (_stream_readable.js:974:12)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)

编辑:抱歉。没看到数据库是oracle,直接开始尝试mysql。

最佳答案

我假设您的 mysql 服务器在端口 1711 上运行,而不是默认端口。如果您收到连接丢失错误,则表示您的网络出现问题,请尝试稍后重新连接您的服务器。

var conn;

function handleDisconnect() {
conn = mysql.createConnection(//your config);


conn.connect(function(err) {
if(err) {
console.log('error when connecting to database:', err);
setTimeout(handleDisconnectConnection, 5000);
}
});

connection.on('error', function(err) {
console.log('db error', err);
if(err.code === 'PROTOCOL_CONNECTION_LOST') {
handleDisconnectConnection();
} else {
throw err;
}
});
}

handleDisconnectConnection();

希望对你有用

关于mysql - 如何在 mysql npm 的连接选项中提供 SERVICE_NAME ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46232679/

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