我使用驅動程序JDBC連接到我的數據庫(由Centura Gupta公司製作的名爲SQLBase的DBMS)。如何驗證連接是否已發佈
它執行沒有問題(即使我檢查數據插入到我的數據庫)。
但後來我執行一個非常簡單的SELECT語句,我得到這個錯誤:
TypeError: Cannot read property 'createStatement' of undefined
at /var/apis/api.test/connections/sqlbase.dposs1.js:86:25
at JDBC.Pool.reserve (/var/apis/api.test/node_modules/jdbc/lib/pool.js:192:5)
at Object.getCenturaQuery (/var/apis/api.test/connections/sqlbase.dposs1.js:79:15)
at Object.verificarPagos (/var/apis/api.test/app/bancos/bancos.model.js:146:20)
at getFacturas (/var/apis/api.test/app/bancos/bancos.rutas.js:7:18)
at Layer.handle [as handle_request] (/var/apis/api.test/node_modules/express/lib/router/layer.js:95:5)
at next (/var/apis/api.test/node_modules/express/lib/router/route.js:131:13)
at Route.dispatch (/var/apis/api.test/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/var/apis/api.test/node_modules/express/lib/router/layer.js:95:5)
at /var/apis/api.test/node_modules/express/lib/router/index.js:277:22
我想,發佈聲明無法正確執行。
我用這個代碼,我在這裏看到:https://www.npmjs.com/package/jdbc
myConnection.release(connObj, function(err) {
if (err) {
console.log(err.message);
}
});
發佈後,我仍然有這個JSON連接對象(我認爲這should't存在了,但它仍然存在):
{
"uuid": "30271a1a-db99-4ff2-8b6a-5befcbe8fbb4",
"conn": {
"_conn": {
"warnings": null
},
"_txniso": [
"TRANSACTION_NONE",
"TRANSACTION_READ_UNCOMMITTED",
"TRANSACTION_READ_COMMITTED",
null,
"TRANSACTION_REPEATABLE_READ",
null,
null,
null,
"TRANSACTION_SERIALIZABLE"
]
},
"keepalive": false
}
如何在執行SELECT語句之前檢查連接是否已成功釋放?
我認爲問題出在這個JSON連接對象的周圍。
也許它有幫助:我在服務器端使用JavaScript和NodeJS進行開發。