Oracle Database 연결 URI 만들기
Microsoft BizTalk Adapter for Oracle Database 연결 URI에는 어댑터가 Oracle 데이터베이스에 대한 연결을 설정하는 데 사용하는 속성이 포함되어 있습니다. 이 항목에서는 tnsnames.ora를 사용하고 tnsnames.ora를 사용하지 않고 Oracle 데이터베이스에 연결할 연결 URI를 지정하는 방법에 대한 정보를 제공합니다. 또한 연결 URI를 사용하여 Oracle 데이터베이스에 연결하는 방법에 대한 정보도 제공합니다.
tnsnames.ora를 사용하여 Oracle 데이터베이스에 연결하기 위한 연결 URI
중요
- 이 방법을 사용하려면 어댑터 클라이언트가 설치된 컴퓨터의 tnsnames.ora 파일에 net service name 항목을 추가해야 합니다. net service name 항목에 대한 자세한 내용은 Oracle 데이터베이스 어댑터에 대한 Oracle 클라이언트 구성을 참조하세요.
- Oracle 클라이언트 제한으로 인해 트랜잭션에서 작업을 수행하는 경우 연결 URI의 DataSourceName 매개 변수(net service name)는 39자를 초과할 수 없습니다. 따라서 트랜잭션에서 작업을 수행할 경우 DataSourceName 매개 변수에 지정된 값이 39자 미만인지 확인합니다.
WCF의 일반적인 엔드포인트 주소 URI는 로 표시됩니다. 여기서: scheme://userauthparams@hostinfoparams?query_string
-
scheme
는 체계 이름입니다. -
userauthparams
는 엔드포인트에서 사용자 인증에 필요한 매개 변수의 이름-값 컬렉션입니다. -
hostinfoparams
는 호스트에 대한 연결을 설정하는 데 필요한 정보입니다. 예를 들어 경로입니다. -
query_string
는 물음표(?)로 구분된 매개 변수의 선택적 이름-값 컬렉션입니다.
Oracle Database 어댑터 연결 URI는 이 기본 형식을 준수하며 다음과 같이 구현됩니다.
oracledb://[NET_SERVICE_NAME]?PollingId=[POLLING_ID]
또는 고급 시나리오에서 다음을 수행합니다.
oracledb://User=[USER_NAME];Password=[PASSWORD]@[NET_SERVICE_NAME]?PollingId=[POLLING_ID]
다음 표에서는 연결 URI에 포함된 속성에 대해 설명합니다.
연결 URI 속성 | 범주 | Description |
---|---|---|
[USER_NAME] | userauthparams | Oracle 데이터베이스의 인증에 사용할 사용자 이름(예: SCOTT )입니다. 연결 URI에서 사용자 이름과 암호를 지정하려면 AcceptCredentialsInUri 바인딩 속성을 true 로 설정해야 합니다.
AcceptCredentialsInUri 바인딩 속성은 BizTalk Server 바인딩 탭에서 사용할 수 없습니다.참고 Oracle 데이터베이스 어댑터는 Oracle 데이터베이스에서 연결을 열 때 사용자 이름에 입력하는 값의 대/소문자를 유지합니다. Oracle 데이터베이스의 사용자 이름은 대/소문자를 구분합니다. Oracle 데이터베이스에 필요한 경우 Oracle 데이터베이스 어댑터에 Oracle 사용자 이름을 제공해야 합니다. 일반적으로 SCOTT/TIGER 자격 증명의 사용자 이름은 대문자 "SCOTT"이어야 합니다. |
[PASSWORD] | userauthparams | Oracle 데이터베이스의 인증에 사용할 암호(예: TIGER )입니다. 연결 URI에서 사용자 이름과 암호를 지정하려면 AcceptCredentialsInUri 바인딩 속성을 true 로 설정해야 합니다.
AcceptCredentialsInUri 바인딩 속성은 BizTalk Server 바인딩 탭에서 사용할 수 없습니다.참고 Oracle 데이터베이스 어댑터는 Oracle 데이터베이스에서 연결을 열 때 암호에 대해 입력한 값의 대/소문자를 유지합니다. 릴리스 10g 이하의 경우에는 Oracle 시스템의 암호가 대/소문자를 구분하지 않습니다. |
[NET_SERVICE_NAME] | hostinfoparams | Oracle 데이터베이스 어댑터가 설치된 컴퓨터의 tnsnames.ora 파일에 지정된 net 서비스 이름입니다. net service name 및 tnsnames.ora에 대한 자세한 내용은 Oracle 데이터베이스 어댑터에 대한 Oracle 클라이언트 구성을 참조하세요. |
[POLLING_ID] | query_string | 어댑터가 POLLINGSTMT 작업의 표준 네임스페이스에 추가해야 하는 선택적 문자열입니다. 이렇게 하면 프로젝트에 여러 폴링 작업이 포함된 경우 각 폴링 작업에 고유한 네임스페이스를 지정할 수 있습니다. 프로젝트에 POLLINGSTMT 작업이 하나만 포함된 경우 PollingId 문자열을 지정할 필요가 없습니다. |
참고
쿼리 매개 변수는 WCF 메타데이터 Exchange 클라이언트에 엔드포인트 주소를 지정하는 경우에도 연결 URI에 사용됩니다.
tnsnames.ora를 사용하지 않고 Oracle 데이터베이스에 연결하기 위한 연결 URI
중요
- 이 방법의 경우 tnsnames.ora 파일의 net service 이름 또는 실제 tnsnames.ora 파일 자체는 클라이언트 컴퓨터에 있을 필요가 없습니다.
- 트랜잭션에서 작업을 수행하는 경우 이 연결 모드는 지원되지 않습니다. 이는 Oracle 클라이언트의 제한 때문입니다.
WCF의 일반적인 엔드포인트 주소 URI는 로 표시됩니다. 여기서: scheme://userauthparams@hostinfoparams?query_string
-
scheme
는 체계 이름입니다. -
userauthparams
는 엔드포인트에서 사용자 인증에 필요한 매개 변수의 이름-값 컬렉션입니다. -
hostinfoparams
는 호스트에 대한 연결을 설정하는 데 필요한 정보입니다. 예를 들어 서버 이름, 포트 번호 등이 있습니다. -
query_string
는 물음표(?)로 구분된 매개 변수의 선택적 이름-값 컬렉션입니다.
Oracle Database 어댑터 연결 URI는 이 기본 형식을 준수하며 다음과 같이 구현됩니다.
oracledb://[SERVER_ADDRESS]:[PORT_NUMBER]/[SERVICE_NAME]/[SERVICE_TYPE]?PollingId=[POLLING_ID]
또는 고급 시나리오에서 다음을 수행합니다.
oracledb://User=[USER_NAME];Password=[PASSWORD]@[SERVER_ADDRESS]:[PORT_NUMBER]/[SERVICE_NAME]/[SERVICE_TYPE]?PollingId=[POLLING_ID]
다음 표에서는 연결 URI에 포함된 속성에 대해 설명합니다.
연결 URI 속성 | 범주 | Description |
---|---|---|
[USER_NAME] | userauthparams | Oracle 데이터베이스의 인증에 사용할 사용자 이름입니다. 예를 들어 SCOTT입니다. 연결 URI에서 사용자 이름과 암호를 지정하려면 AcceptCredentialsInUri 바인딩 속성을 true 로 설정해야 합니다.
AcceptCredentialsInUri 바인딩 속성은 BizTalk Server 바인딩 탭에서 사용할 수 없습니다. 참고 Oracle 데이터베이스 어댑터는 Oracle 데이터베이스에서 연결을 열 때 사용자 이름에 입력하는 값의 대/소문자를 유지합니다. Oracle 데이터베이스의 사용자 이름은 대/소문자를 구분합니다. Oracle 데이터베이스에 필요한 경우 Oracle 데이터베이스 어댑터에 Oracle 사용자 이름을 제공해야 합니다. 일반적으로 SCOTT/TIGER 자격 증명의 사용자 이름은 대문자 "SCOTT"이어야 합니다. |
[PASSWORD] | userauthparams | Oracle 데이터베이스의 인증에 사용할 암호입니다. 예를 들어 TIGER입니다. 연결 URI에서 사용자 이름과 암호를 지정하려면 AcceptCredentialsInUri 바인딩 속성을 true 로 설정해야 합니다.
AcceptCredentialsInUri 바인딩 속성은 BizTalk Server 바인딩 탭에서 사용할 수 없습니다. 참고 Oracle 데이터베이스 어댑터는 Oracle 데이터베이스에서 연결을 열 때 암호에 대해 입력한 값의 대/소문자를 유지합니다. 릴리스 10g 이하의 경우에는 Oracle 시스템의 암호가 대/소문자를 구분하지 않습니다. |
[SERVER_ADDRESS] | hostinfoparams | Oracle 데이터베이스가 실행 중인 서버의 이름 또는 IP 주소입니다. 이 유형의 연결을 사용하는 경우 필수입니다. |
[PORT_NUMBER] | hostinfoparams | Oracle Net 수신기 포트입니다. 값이 지정되지 않은 경우 어댑터는 기본값 1521을 사용합니다. |
[SERVICE_NAME] | hostinfoparams | Oracle 데이터베이스 서비스 이름입니다. 이 유형의 연결을 사용하는 경우 필수입니다. |
[SERVICE_TYPE] | hostinfoparams | Oracle 서비스의 유형입니다. 가능한 값은 Dedicated 또는 Shared입니다. 전용 서비스는 전용 서버 프로세스를 사용하여 하나의 사용자 프로세스만 제공합니다. 공유 서비스는 여러 사용자 프로세스를 제공할 수 있는 공유 서버 프로세스를 사용합니다. 기본값은 Dedicated입니다. |
[POLLING_ID] | query_string | 어댑터가 POLLINGSTMT 작업의 표준 네임스페이스에 추가해야 하는 선택적 문자열입니다. 이렇게 하면 프로젝트에 여러 폴링 작업이 포함된 경우 각 폴링 작업에 고유한 네임스페이스를 지정할 수 있습니다. 프로젝트에 POLLINGSTMT 작업이 하나만 포함된 경우 PollingId 문자열을 지정할 필요가 없습니다. |
참고
쿼리 매개 변수는 WCF 메타데이터 Exchange 클라이언트에 엔드포인트 주소를 지정하는 경우에도 연결 URI에 사용됩니다.
Oracle 데이터베이스 자격 증명 및 연결 URI
기본적으로 Oracle 데이터베이스 어댑터는 Oracle 데이터베이스 자격 증명이 연결 URI에 지정될 때 예외를 throw합니다. 이러한 자격 증명은 연결 URI에서 일반 텍스트로 표시되므로 보안 위험이 발생합니다. AcceptCredentialsInUri 바인딩 속성을 설정하여 연결 URI에 Oracle 데이터베이스에 대한 자격 증명을 포함할 수 있는지 여부를 제어할 수 있습니다. AcceptCredentialsInUri 속성이 false이면 연결 URI에 Oracle 데이터베이스 자격 증명이 포함되어 있으면 Oracle 데이터베이스 어댑터가 예외를 throw합니다. 속성이 true이면 예외가 throw되지 않습니다.
연결 URI에서 자격 증명을 지정해야 하는 몇 가지 제한된 시나리오가 있습니다. 예를 들어 WCF 서비스 모델 또는 WCF 채널 모델을 사용할 때 인바운드 POLLINGSTMT 작업을 수신합니다. 그러나 대부분의 경우 연결 URI에 자격 증명을 제공하지 않아야 합니다. Oracle 데이터베이스에 대한 자격 증명을 보다 안전하게 제공하는 방법에 대한 자세한 내용은 Oracle Database 애플리케이션 보안을 참조하세요.
중요
문자열의 자격 증명을 일반 텍스트로 전달하여 발생하는 보안 위험으로 인해 연결 URI에 Oracle 데이터베이스 연결 자격 증명을 지정하지 않아야 합니다.
연결 URI에서 예약 문자 사용
Oracle Database 어댑터는 매개 변수 값에 특수 문자가 있는 연결 URI 지정을 지원하지 않습니다. 연결 매개 변수 값에 특수 문자가 포함된 경우 다음 중 하나를 수행해야 합니다.
어댑터 서비스 참조 플러그 인 추가 또는 어댑터 서비스 추가 기능 사용을 사용하여 Visual Studio에서 URI를 지정하는 경우 이스케이프 문자를 사용하지 않고 URI 속성 탭에서 있는 그대로 지정해야 합니다. URI 구성 필드에서 직접 URI를 지정하고 연결 매개 변수에 예약 문자가 포함된 경우 적절한 이스케이프 문자를 사용하여 연결 매개 변수를 지정해야 합니다.
BizTalk Server 관리 콘솔에서 송신 또는 수신 포트를 만드는 동안 URI를 지정하고 연결 매개 변수에 예약 문자가 포함된 경우 적절한 이스케이프 문자를 사용하여 연결 매개 변수를 지정해야 합니다.
연결 URI를 사용하여 Oracle 데이터베이스에 연결
다음은 Oracle Database 어댑터에 대한 연결 URI의 예입니다.
tnsnames.ora 사용 | tnsnames.ora를 사용하지 않고 |
---|---|
oracledb://ADAPTER 이 예제에서 ADAPTER는 tnsnames.ora의 대상 Oracle 데이터베이스에 대한 서비스 이름 및 연결 정보와 연결된 net 서비스 이름입니다. |
oracledb://yourOracleServer:1521/yourOracleDatabaseServiceName/Dedicated 이 예제에서 서버 이름은 "yourOracleServer"이고 서비스 이름은 "yourOracleDatabaseServiceName"입니다. |
다음은 POLLINGSTMT 작업에 대한 연결 URI의 예입니다. 이 URI에는 POLLINGSTMT 작업의 네임스페이스를 수정하는 PollingId 매개 변수가 포함되어 있습니다.
tnsnames.ora 사용 | tnsnames.ora를 사용하지 않고 |
---|---|
oracledb://ADAPTER?PollingId=MyPollingNotification1 |
oracledb://yourOracleServer:1521/yourOracleDatabaseServiceName/Dedicated? PollingId=MyPollingNotification1 |
위의 연결 URI의 경우 Oracle 데이터베이스 어댑터는 POLLINGSTMT 작업에 대해 다음 네임스페이스를 만듭니다.
http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTMyPollingNotification1
Oracle 데이터베이스에 대한 연결을 설정하는 방법에 대한 자세한 내용은 다음을 수행합니다.
어댑터 서비스 사용 BizTalk 프로젝트 추가 기능 또는 어댑터 서비스 참조 Visual Studio 플러그 인 추가를 사용합니다. 어 댑터 서비스 사용을 사용하여 Visual Studio에서 Oracle 데이터베이스에 연결을 참조하세요.
BizTalk Server 솔루션에서 송신 포트 또는 수신 포트(위치)를 구성합니다. Oracle 데이터베이스 어댑터에 대한 물리적 포트 바인딩 수동 구성을 참조하세요.
프로그래밍 솔루션에서 WCF 채널 모델을 사용합니다. Oracle Database를 사용하여 채널 만들기를 참조하세요.
프로그래밍 솔루션에서 WCF 서비스 모델을 사용합니다. Oracle 데이터베이스에 대한 클라이언트 바인딩 구성을 참조하세요.
WCF ServiceModel 메타데이터 유틸리티 도구(svcutil.exe 사용)는 Oracle 데이터베이스용 BizTalk 어댑터와 함께 ServiceModel 메타데이터 유틸리티 도구 사용을 참조하세요.
참고 항목
Oracle Database에 대한 연결 만들기
Oracle 데이터베이스 어댑터에 대한 Oracle 클라이언트 구성