8

リモートの Oracle テスト DB に接続する方法を本当に理解しようとしていますが、Java の経験はありません。ですから、あなたの助けを得ることができれば、私は永遠に感謝します.

接続しようとしているリモート テスト データベースがあり、古いスタイルの SID との jdbc 接続があります。このリンクによると: https://github.com/oracle/node-oracledb/blob/master/doc/api.md#notjdbc、接続を入れるために tnsnames.ora ファイルを作成することになっています。 :

tnsnames.ora:

appDB =
 (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
   (CONNECT_DATA =
     (SID = ORCL)
   )
 )

そして、ノードのserver.jsファイルでそれを参照することになっています

サーバー.js:

const oracledb = require('oracledb');
oracledb.getConnection(
  {
    user          : process.env.ORACLE_USER,
    password      : process.env.ORACLE_PASSWORD,
    connectString : "appDB"
  },
  function(err, connection)
  {
    if (err) {
      console.error(err.message);
      return;
    }
    connection.execute(
      "SELECT * " +
        "FROM BOS_course",
      function(err, result)
      {
        if (err) {
          console.error(err.message);
          doRelease(connection);
          return;
        }
        console.log(result.rows);
        doRelease(connection);
      });
  });

module.exports = {
    oracledb
};

ただし、tnsnames.ora ファイルをどこに置くべきかわかりません。このリンクをオンラインで見つけまし$ORACLE_HOME/network/adminたが、それが何を指しているのかわかりません。データベースへのアクセスは制限されています。私のJavaの無知を許してください。データベースとは完全に別のノード アプリでこの接続を使用するにはどうすればよいですか? アプリはどのようにして「appDB」が何であるかを認識し、tnsnames.ora ファイルでそれを見つける方法を教えてください。

前もって感謝します!

4

3 に答える 3