作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个类似这样的 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/
我是一名优秀的程序员,十分优秀!