2011-01-28 162 views
8

Visual Studio 2010でサーバー・エクスプローラを使用してローカルOracle 11gデータベースに接続しようとしていますが、指示に従ってすべてをセットアップしようとしましたが、 ORA-12504エラーが発生しました。ここでORA-12504:TNS:リスナーにCONNECT_DATAのSERVICE_NAMEが指定されていません

は誤りである:多くの知識を持たずに

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


VENUS = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = SPRPRG020)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = VENUS) 
    ) 
) 

LISTENER_VENUS = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = SPRPRG020)(PORT = 1521)) 

listener.oraファイルの内容、

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

LISTENER = 
    (DESCRIPTION_LIST = 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 
     (ADDRESS = (PROTOCOL = TCP)(HOST = SPRPRG020)(PORT = 1521)) 
    ) 
) 

ADR_BASE_LISTENER = C:\app\rsahi 

答えて

-1

私はOracle 11gでLinkedServerを作成しようとしていたときに同じ問題が発生しました。私のOracleインスタンス名はPC-2.my.xgenで、リスナー名は「NB」でした。最初の文の最後のパラメータは、実際にはOracleサーバー・インスタンスとリスナー名の連結です。

SQLサーバーに次の文を書き留めました。

--add a linked server into SQL server 
--last parameter contains OracleInstance/Listener Name of desired database 
EXEC sp_addlinkedserver 'OracleLinkedServer4', 'Oracle', 'MSDAORA', 'PC-2.my.xgen/nb' 

--add login information into linked server 
EXEC sp_addlinkedsrvlogin 'OracleLinkedServer4', false, Null, 'system', '123456' 

Oracleデータベース "NB"には、CRD_CIL_NOTIFICATION_TYPEという名前のテーブルがあります。だから私はレコードを得るために次の声明を書いた。

select * from OracleLinkedServer4..SYSTEM.CRD_CIL_NOTIFICATION_TYPE 
1

:ここ

enter image description here

は私のtnsnames.oraの内容ですODP.NETとOracle DBを接続する際に、私たちがあなたから始めてみることをお勧めしますg SERVICE_NAME(例:VENUS)を接続パラメータに追加してください。 11グラムから

以降は、エイリアス/サービス名として/ etc/hostsファイルで提供ホスト名を使用しての機能が変更されました:

は、Oracleは、と述べています。その結果、ターゲット・リスナーをデフォルト・サービス名で構成または接続する際に、ユーザーはサービス名を指定する必要があります。 SERVICE_NAMEクライアント側の要求をバイパスする

一つの方法は、tnsnames.ora

DEFAULT_SERVICE_LISTENER = VENUS 

にそうするように、それを伝えることで、同じサービスであなたを送信し、常にリスナーを強制することです。しかし、私はあなたを示唆していませんそれはかなり制限的なので、それをしてください。

15

のVisual Studioのサーバーエクスプローラのデータ接続]パネルで、これを試してみてください:データソース名の形式すなわちData source name: SPRPRG020/VENUS

は、SSISを使用しSERVER_NAME_OR_IP/DATABASE_NAME

+1

で、このチップはフォーマットを記述しSQL Serverのインポートとエクスポートウィザードの[データソースの選択]ステップの[データソース]フィールドに必要です。 –

関連する問題