2011-01-28 5 views
8

Visual Studio 2010의 서버 탐색기를 사용하여 로컬 Oracle 11g 데이터베이스에 연결하려고합니다. 지시 사항대로 모든 것을 설정하려고했지만 여전히 ORA-12504 오류가 발생했습니다. 여기 ORA-12504 : TNS : 수신기에 CONNECT_DATA의 SERVICE_NAME이 지정되지 않았습니다.

enter image description here

내 tnsnames.ora 파일의 내용입니다 :

# 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 서버에 다음 문장을 적어 둡니다. Oracle 데이터베이스에서

--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' 

는 "NB는"나는 테이블은 이름이있다 : CRD_CIL_NOTIFICATION_TYPE. 그래서 저는 기록을 얻기 위해 다음 진술을 적어 둡니다.

select * from OracleLinkedServer4..SYSTEM.CRD_CIL_NOTIFICATION_TYPE 
1

많은 지식없이 여기

오류입니다 ODP.NET과 Oracle DB를 연결하는 데있어, g SERVICE_NAME (예 : VENUS)을 연결 매개 변수에 추가하십시오. 11g에서

년 이후, 별칭/서비스 이름으로/etc/hosts 파일에서 제공하는 호스트 이름을 사용하는 기능이 변경되었습니다

오라클은 상태. 결과적으로 사용자는 대상 리스너를 기본 서비스 이름과 연결하거나 연결하는 동안 서비스 이름을 제공해야합니다. SERVICE_NAME 클라이언트 측 요구 사항을 우회하는

한 가지 방법은 tnsnames.ora를

DEFAULT_SERVICE_LISTENER = VENUS 

에 그렇게 할 이야기가 동일한 서비스에 당신을 보내는 항상 리스너를 강제하는 것입니다하지만 난 당신을하지 않는 것이 좋습니다 그것은 꽤 제한적입니다.

15

비주얼 스튜디오의 서버 탐색기 데이터 연결 패널에서,이 시도 : 데이터 소스 이름 형식 즉 Data source name: SPRPRG020/VENUS

가 SSIS를 사용 SERVER_NAME_OR_IP/DATABASE_NAME

+1

이며,이 팁은 형식을 설명하지 SQL Server 가져 오기 및 내보내기 마법사의 "데이터 원본 선택"단계의 데이터 원본 필드에 필요합니다. –

관련 문제