다음을 통해 공유


Oracle 데이터베이스에 대한 클라이언트 바인딩 구성

WCF 클라이언트 클래스를 생성한 후에는 WCF 클라이언트(instance)를 만들고 해당 메서드를 호출하여 Oracle Database 어댑터를 사용할 수 있습니다. Microsoft BizTalk Adapter for Oracle Database에서 노출하는 작업에 대한 WCF 클라이언트 클래스 및 도우미 코드를 생성하는 방법에 대한 자세한 내용은 WCF 클라이언트 또는 Oracle 데이터베이스 솔루션 아티팩트용 WCF 서비스 계약 생성을 참조하세요.

WCF 클라이언트를 만들려면 엔드포인트 주소와 바인딩을 지정해야 합니다. 엔드포인트 주소는 유효한 Oracle 연결 URI를 포함해야 하며 바인딩은 Oracle DB 바인딩(OracleDBBinding)의 instance 합니다. Oracle 연결 URI에 대한 자세한 내용은 Oracle 데이터베이스 연결 URI 만들기를 참조하세요. 연결 URI의 일부로 사용자 자격 증명을 지정하지 않는 것이 좋습니다. 대신 이 항목에 설명된 대로 WCF 클라이언트의 ClientCredentials 속성을 사용할 수 있습니다.

코드 또는 구성 파일에서 Oracle DB 바인딩 및 엔드포인트 주소를 지정할 수 있습니다. 어댑터 서비스 참조 Visual Studio 플러그 인 추가를 사용하여 WCF 클라이언트 클래스를 생성하는 경우 프로젝트에 대한 구성 파일(app.config)도 만들어집니다. 이 파일에는 어댑터 서비스 참조 플러그 인 추가를 사용하여 Oracle 데이터베이스에 연결할 때 지정한 바인딩 속성 및 연결 정보(자격 증명 제외)를 반영하는 구성 설정이 포함되어 있습니다.

코드에서 바인딩 및 엔드포인트 주소 지정

다음 코드에서는 코드에서 바인딩 및 엔드포인트 주소를 지정하여 WCF 클라이언트를 만드는 방법을 보여줍니다. 엔드포인트 주소에 제공된 연결 URI 대신 WCF 클라이언트의 ClientCredentials 속성을 사용하여 Oracle 자격 증명을 지정하는 것이 좋습니다.

// A WCF client that targets the /SCOTT/EMP table is created  
// by using a binding object and endpoint address  
OracleDBBinding odbBinding = new OracleDBBinding();  
EndpointAddress odbAddress = new EndpointAddress("OracleDb://ADAPTER");  
  
SCOTTTableEMPClient empClient = new SCOTTTableEMPClient(odbBinding, odbAddress);  
  
empClient.ClientCredentials.UserName.UserName = "SCOTT";  
empClient.ClientCredentials.UserName.Password = "TIGER";  
  
empClient.Open();  

구성 파일에서 바인딩 및 엔드포인트 주소 지정

다음 코드에서는 app.config 파일에서 바인딩 및 엔드포인트 주소를 지정하여 WCF 클라이언트를 만드는 방법을 보여 있습니다.

// A WCF client that targets the /SCOTT/EMP table is created  
// by specifying the client endpoint information in app.config  
SCOTTTableEMPClient empClient = new SCOTTTableEMPClient("OracleDBBinding_SCOTT.Table.EMP");  
  
empClient.ClientCredentials.UserName.UserName = "SCOTT";  
empClient.ClientCredentials.UserName.Password = "TIGER";  
  
empClient.Open();  

다음 XML은 어댑터 서비스 참조 플러그 인 추가에서 EMP 테이블에 대해 만든 구성 파일을 보여줍니다. 이 파일에는 이전 예제에서 참조된 클라이언트 엔드포인트 구성이 포함되어 있습니다.

\<?xml version="1.0" encoding="utf-8"?>  
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">  
    \<system.serviceModel>  
        <bindings>  
            <oracleDBBinding>  
                <binding name="OracleDBBinding" closeTimeout="00:01:00" openTimeout="00:01:00"  
                    receiveTimeout="00:10:00" sendTimeout="00:01:00"  
                    dataFetchSize="65536" metadataPooling="true" statementCachePurge="false"  
                    statementCacheSize="10" longDatatypeColumnSize="32767" pollingStatement=""  
                    postPollStatement="" pollingInterval="500" useOracleConnectionPool="false"  
                    minPoolSize="1" maxPoolSize="100" incrPoolSize="5" decrPoolSize="1"  
                    connectionLifetime="0" transactionIsolationLevel="ReadCommitted"  
                    enablePerformanceCounters="false" acceptCredentialsInUri="false"  
                    enableBizTalkCompatibilityMode="false" />  
            </oracleDBBinding>  
        </bindings>  
        <client>  
            <endpoint address="oracledb://adapter/" binding="oracleDBBinding"  
                bindingConfiguration="OracleDBBinding" contract="SCOTTTableEMP"  
                name="OracleDBBinding_SCOTT.Table.EMP" />  
        </client>  
    \</system.serviceModel>  
</configuration>  

프로젝트에 둘 이상의 WCF 클라이언트가 있는 경우 구성 파일에 여러 클라이언트 엔드포인트 항목이 정의됩니다. 각 WCF 클라이언트 항목은 바인딩 구성 및 대상 Oracle 데이터베이스 아티팩트 기반의 고유한 이름을 갖습니다. 예: "OracleDBBinding_SCOTT. Table.EMP". 프로젝트에 WCF 클라이언트를 만들기 위해 여러 번 연결하는 경우 각 연결에 대해 하나씩 여러 바인딩 구성 항목이 만들어집니다. 이러한 바인딩 구성 항목의 이름은 OracleDBBinding1, OracleDBBinding2 등의 방식으로 지정됩니다. 특정 연결 중에 만든 각 클라이언트 엔드포인트 항목은 해당 연결 중에 만든 바인딩 항목을 참조합니다.

참고 항목

WCF 서비스 모델을 사용하여 Oracle 데이터베이스 애플리케이션 개발
Oracle 데이터베이스 솔루션 아티팩트용 WCF 클라이언트 또는 WCF 서비스 계약 생성
Oracle 데이터베이스 연결 URI 만들기
WCF 채널 모델을 사용하여 Oracle 데이터베이스 애플리케이션 개발