1

すでにリモートサーバーにインストールされているOracleサーバーがあります。

Entity Frameworkを使用してVisualStudioで使用するために、Oracleの最新プロバイダーをインストールしました。

しかし、サーバーに接続しようとすると、次の例外が発生しました。

ORA-12560:TNS:プロトコル・アダプタ・エラー。

私はオラクルの世界に本当に慣れていないので、何が問題なのか、あるいはそれをデバッグする方法さえも見つけることができません。

lsnrctl statusポート1521でリスナーを操作することにより、リスナーがアップしていることがわかりました。

しかし、私は次のようなセキュリティを持っていることを確認しました: " Security ON: Local OS Authentication"しかし、サーバーとクライアントの間に共通のユーザーがいないので、問題が発生する可能性はありますか?

ユーザーに特別な権利を与える必要がありますか?ローカルでは、sqldeveloperツールに接続できます。

どんな助けでも大歓迎です

編集

その他の情報:サーバーはWindowsで実行され、OracleXETNSListenerサービスが開始されています。言及するのを忘れましたが、サーバーファイアウォールがオフになっています。

編集2

ワークステーションにoraclesql開発者をダウンロードしようとしましたが、まったく同じ情報で接続しました(実際、sql開発者は「TNS」ではなく「ベース」接続を使用していることがわかりました。これは、 EF?

4

3 に答える 3

1

最後に、devartコネクタを使用しました:http ://www.devart.com/dotconnect/oracle/

すべてのモード(直接または通常)で直接機能しました。今朝やってみたら、時間の無駄は減ります。

于 2012-07-10T13:59:24.020 に答える
0

AD経由でtns名を使用していますか、それともマシン上でローカルに使用していますか?ローカルの場合は、デフォルトの場所にあるtns名ファイルに正しい接続記述子がリストされていることを確認する必要があります。これはOracleのバージョンによって異なります。

エンティティフレームワークとリモートインスタンスへの接続に関する既知の問題がありますが、これらはalで克服できます。

于 2012-07-10T10:31:12.787 に答える
0

Oracleプロバイダーを使用すると、接続文字列は次のようになります。

データソース= {serverAddress} /xe;ユーザーID= {ユーザー名} ;パスワード= {パスワード} ;

例:

データソース=localhost/xe;ユーザーID=scott; Password = tiger

Oracle Instance Identifier(Express Editionでは常にxe)について常に言及することをお勧めします。そのため、tns構成設定に依存する必要はありません。

于 2012-07-10T12:42:23.143 に答える