0

システムにローカル Oracle データベースをセットアップし、SqlDeveloper と Sql*Plus (sqlplus system/mypassword@ORACLE) の両方を介して接続できますが、Visual Studio の展開オプションで ODP.Net 接続文字列をセットアップしようとすると、 2010 CLR Project を実行すると、ORA-12154: TNS: could not resolve the connect identifier specified が表示されます。

私が行うアクション: Visual Studio 2010
ファイル

  • 新しい計画
  • データベース
  • オラクル
  • Visual C# オラクル プロジェクト

建てる

  • 配備
  • Oracle Deployment Wizard が開始され、次の仕様で新しい接続を作成します。
  • データ ソース: Oracle データベース (ODP.NET)
  • データ ソース名: ORACLE
  • ユーザー名: システム
  • パス: mypassword
  • テスト接続
  • ORA-12154: TNS: 指定された接続識別子を解決できませんでした

私の tnsnames.ora の内容:

# tnsnames.ora Network Configuration File:     c:\app\oracle\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORACLE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORACLE)
    )
  )

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

私のlistener.oraの内容:

# listener.ora Network Configuration File:     c:\app\oracle\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = c:\app\oracle\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS =     "EXTPROC_DLLS=ONLY:c:\app\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = myhost.domain.com)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = c:\app\oracle

sqlnet.ora の内容:

# sqlnet.ora Network Configuration File:     c:\app\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to 
# install "Software Only", this file wont exist and without the native 
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
4

1 に答える 1

0

私自身の質問に答える:私のlistener.oraでmyhost.domain.comをlocalhostに置き換えることでこの問題を解決しました

于 2013-09-25T09:22:25.097 に答える