問題タブ [tnsnames]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - Using pure TNSNAMES rather than host-based database connections in Oracle JDeveloper
I'm using Oracle JDeveloper 11.1.1.4.0, and I can create database connections (with a type of Oracle (JDBC)
) using the thin
driver without any problems as long as I'm specifying a host.
For instance, I can connect to a locally-running Oracle XE database by specifying:
For connecting to remote databases, I use TNS, and my tnsnames.ora
file is set up as below, where MYDATABASE.EXAMPLE.COM
is the Oracle Service Identifier I want to use.
Connections to the MYDATABASE.EXAMPLE.COM
service work with SQL Developer, SQL Plus, TNSPING etc. from this machine but I can't find a way of specifying this in a JDeveloper database connection without being forced to specify a host.
The reason I don't want to specify a host is the same reason we're using TNS in the first place - the testdb.example.com
host will change over time, but the MYDATABASE.EXAMPLE.COM
TNS service identifier will not.
If I specify the host testdb.example.com
along with the correct TNS alias, the connection works. If I specify the wrong identifier, it fails - it's definitely aware of the contents of my tnsnames.ora file.
Posts like this one seem to suggest that if JDeveloper is aware of TNS_ADMIN, it will use tnsnames.ora
, but even using the "Enter Custom JDBC URL" doesn't work, using a string like:
It still gives the "Please enter a valid value for Host Name" error.
Does anybody know how to create a database connection in JDeveloper without specifying the host?
oracle - TNS-12505: TNS: リスナーは現在、接続記述子で指定されたSIDを認識していません
次の接続文字列を使用して、NetBeans から Oracle 10.2.0 に接続しようとしています。
最も奇妙な部分は、再起動の 1 つまで、すべてが正常に機能したことです。この TNS-12505 エラーが常に発生し始めました。my の最終エントリを見てくださいlistener.log
:
最初の 3 つのエントリは、NetBeans から接続しようとした私の試みです。4 番目の SQL*Plus 経由の接続は、問題なく機能しました。
私の内容は次のlistener.ora
とおりです。
そしてtnsnames.ora
:
> lsnrctl サービスからの出力
両方の Oracle サービスが開始され、SQL*Plus が正常に接続されます。
このエラーの回避策はありますか?
java - Oracleデータベースへの接続を作成するときのjava.lang.ArrayIndexOutOfBoundsException
OracleのJavaクライアントにはバグがあるようです。tnsnames.ora
ファイルの特定の場所にスペース/タブ/新しい行が間違って配置されている場合、次のトレースで例外が発生します。
C ++アプリケーションを使用して、同じものを使用しているデータベースに接続しようとすると、tnsnames.ora
正常に機能します。同じことがsqlplus
。またtnsping
、このファイルを解析する必要があるのは、サービス名を解決するのに問題はありません。Oracleは値などに対して怠惰すぎたよう.trim()
です。これは、Oracleクライアントバージョン9、10、および11でも同じ問題です。
tnsnames.ora
この問題が存在する理由と、フォーマットの正確な問題は何ですか?(私はそれを解決するためにすべての空白を削除するだけです)
oracle - SSIS パッケージが Oracle 10g への接続に使用している ORA ファイルを確認するにはどうすればよいですか?
Oracle 10g データベースからデータを抽出する SSIS パッケージを保守しています。接続がエラー コードでタイムアウトした場合:
プロバイダーの初期化中にエラーが発生したため、接続のテストに失敗しました。ORA-12170: TNS: 接続タイムアウトが発生しました
sqlnet.ora または tnsnames.ora を変更するように言われました。これは興味深い問題を提起します。問題が解決するまで1つずつ変更する以外に、SSISで使用されているoraファイルを見つけるにはどうすればよいですか?
backup や _old などの名前が付いていない 2 つのディレクトリに tnsnames.ora ファイルがあることを付け加えておきます。
D:\oracle\product\11.2.0\client_1\NETWORK\ADMIN
D:\oracle\product\11.2.0\client_2_32_bit\NETWORK\ADMIN
oracle - sqlloader をサーバーに接続中にエラー 704 & 12154 が発生する
サーバーに基づく Oracle データベースがあり、サーバー上のテーブルにデータをインポートしたいと考えています。sqlloadr(sqlldr) を使用して、localhost にある Oracle データベースにすべてのデータを挿入しようとしていますが、この場合は問題ありませんが、Web サーバー (localhost ではない) に接続しようとすると問題が発生します。
localhost の場合に使用したコマンド:
以下はWebサーバーに関するものです
ここで、次のように tnsnames.ora を作成しました。
しかし、私はこのエラーが発生しました:
どんなアイデアでも大歓迎です
oracle - SqlDeveloper: ネットワーク エイリアス リストをクリアする
私は sql-developer を使用して、複数の異なるユーザーを持つ複数の異なる Oracle データベースに接続しています。接続情報はtnsnames.ora
ファイルに保存されるため、データベースのサーバーが変更されたときに、データベースへのすべての接続を手動で更新する必要はありません。最近、tnsnames ファイルを更新したところ、ネットワーク エイリアス リストには、存在するはずのエントリごとに 2 つのエントリが存在するようになりました。2 番目のエントリは機能しているように見えます (接続をテストすると、IE はテストに合格します)。ただし、デフォルトでは最初のエントリが選択されるようで、これは機能しません。
これは、ここでの回答によるものと思われます: SQL Developer に新しい接続を追加するときに Oracle TNS 名が表示され ませんが、その回答はその問題を解決する方法に対応していません。
では、ネットワーク エイリアス リストを完全にクリアして、強制的にファイルから再ロードするにはどうすればよいでしょうか。
oracle11g - tnspingは失敗しますが、sqlplusを介してOracleDBに接続できます
Oracle Clientv。11.2.0.1をWindowsXPマシンにインストールし、TNS_ADMINとORACLE_HOMEの両方の環境変数を設定しました。
sqlplusを使用してTNSエイリアスを介してリモートデータベースに接続すると、正常に機能します。
ただし、同じエイリアスにtnspingすると、次のエラーが発生します。
同様の問題(つまり、ここでのスタックオーバーフロー)の場合、tnspingは少なくともエイリアスからの接続文字列を解決できます。この場合はそうではありません。これにより、一部の環境変数が欠落しているか、間違った場所を指していると思います。任意の提案をいただければ幸いです。
delphi - Delphi から tnsnames.ora ファイルを解析するにはどうすればよいですか?
どのデータソースに接続するかを選択できるように、Oracle データソース名のリストを取得してコンボボックスに追加するにはどうすればよいですか? TNS_NAMES.ora ファイルの内容を読み取り、データ ソース名を取得するプログラムが必要です。FileSearch を実行できますが、プログラムが異なるコンピューターで実行され、Oracle クライアントが異なるフォルダーにインストールされる可能性があるため、TOAD、PL/SQL 開発者、および他の Oracle マネージャーが行うように、プログラムで TNS_NAMES ファイル自体を検索する必要があります。
oracle - ora-12154を解決できませんでした...Oracleインスタントクライアントを使用
詳細は次のとおりです。
- Windows 7 64ビットVM(vmware)のOTNダウンロードページからOracle InstantClient11.2.0.2.0をインストールしました。
- リモートのOracleデータベースに接続しようとしていますが、TNSを使用して1つのプログラムに正常に接続できますが、SQL*Plusやその他のアプリケーションには接続できません。
- schema @ servicename、passwordなどを使用してSQL * Plusに接続しようとすると、上記のエラーが発生します。
- SQL Developerを介して接続するには、通常、基本的な接続情報を使用し、tnsnamesに依存しませんが、通常の接続を試行すると、次のようになります
io error: unknown host specified
。TNSプロトコルを使用すると、SQLDeveloperはデータベースに正常に接続してクエリを実行できます。 - 他のプログラムから試してみると、SQL*Plusで発生したのと同じエラーが発生します。tnsnamesのサービス名で試行する場合も同じです。
これは明らかに、一方の方法で機能し、もう一方の方法では機能しないため、非常に苛立たしいものです。インスタントクライアントを使用するためのすべての通常の手順に従いました。instantclientを含むディレクトリがPATHに追加され、TNS_ADMINエントリも作成され、ディレクトリがtnsnames.oraファイルに追加されました。
passwords - tnsnames.oraを使用したパスワードなしのsqlplus?
データベースのユーザー名とパスワードを tnsnames.ora ファイルの TNS エントリに追加して、ユーザー名とパスワードを覚えなくても SQL*Plus を実行できるようにすることはできますか?
セキュリティについての講義は必要ありません。私が使用している環境では問題にならないリスクを完全に認識しています。