0
node.jsバックエンドAPIを作成するときにoracledb npm package
を使用してDBとの接続を確立しています。私はconsole.log(result.rows)
oracledb npmパッケージを使用した場合の結果を返します
以下は、私が他のファイルからgetDbConnection関数を呼び出す機能コード
getDbConnection: function(query) {
var connectInfo= [EnvConfig.getConnectionHostName(), EnvConfig.getConnectionPort()]; // Array of hostname and port
var connectHost = connectInfo.join(':'); // join hostname and port with ':'
var connectionAttr = [connectHost, EnvConfig.getConnectionSID()]; // hostname:port and SID
var connectString = connectionAttr.join('/'); // creating the connection string like 'hostname:port'
console.log(connectString);
// creating a oracle connection
oracledb.getConnection(
{
user: EnvConfig.getConnectionUserName(),
password: EnvConfig.getConnectionPassword(),
connectString: connectString
},
function (err, connection) {
if(err) {
console.log(err.message);
return;
}
connection.execute(
query, function(err, result) {
if(err) {
console.log(err.message);
return;
}
console.log(result.rows); // I get result here
return result.rows; // return result on success
}
);
}
);
}
でやるときの結果を得ることができていると私はconsole.log(getDbConnection(query))
のように()はconsole.logとき。結果は未定義です。これをどのように解決すればいいですか?
私はそれが非同期呼び出しの問題であることを知っていましたが、解決方法を理解できませんでした。ありがとうございました。私は可能な限りこれを答えたものとしてマークします。 –
よろしくお願いします。乾杯!!! – abdulbarik