2007~2011/SQL Server2010. 4. 27. 10:38

SQL Server 에서 Oracle 데이터베이스로 데이터를 전송하기 위해 SSIS 패키지를 디자인 하였으나 OLE DB Destination 에 지정한 Oracle 데이터베이스 연결 관련 오류가 발생하는 이슈에 대해서 아래와 같이 정리하였습니다.


[환경]
Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) 또는 SQL Server 2008 R2 RTM

Microsoft Visual Studio 2005
버전 8.0.50727.42  (RTM.050727-4200)
Microsoft .NET Framework
버전  2.0.50727 서비스 팩 1

SQL Server Integration Services  
Microsoft SQL Server Integration Services 디자이너
버전 9.00.3042.00


[현상]
SQL Server 쿼리 결과를 Oracle Database 에 전송하기 위해 Task 작업 중 OLE DB Destination 을 설정한 Oracle 데이터베이스에 접속하는 데 커넥션 오류가 발생하며 패키지 실행 결과는 아래와 같습니다.

[대상 - ORACLE_LINK[34]] 오류: SSIS 오류 코드 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.
오류 코드 0xC0202009(으)로 인해 연결 관리자 "LAIGO_ORACLE.laigo"에 대한 AcquireConnection 메서드 호출이 실패했습니다. AcquireConnection 메서드 호출이 실패한 이유에 대한 자세한 정보와 함께 이 오류 메시지보다 먼저 게시된 오류 메시지가 있을 수도 있습니다. 

 
[DTS.Pipeline] 오류: 구성 요소 "대상 - ORACLE_LINK"(34)의 유효성을 검사하지 못했으며 오류 코드 0xC020801C이(가) 반환되었습니다. 
  
[연결 관리자 "LAIGO_ORACLE.laigo"] 오류: SSIS 오류 코드 DTS_E_OLEDBERROR.  OLE DB 오류가 발생했습니다. 오류 코드: 0x80040E4D. OLE DB 레코드를 사용할 수 있습니다.
원본: "Microsoft OLE DB Provider for Oracle"  Hresult: 0x80040E4D  설명: "ORA-01017: 사용자명/암호가 부적합, 로그온할 수 없습니다 ".



[원인]
SSIS Package 디자인 시 입력하였던 Oracle 데이터베이스에 연결하기 위한 패스워드 정보를 얻지 못하였습니다.
+ Oracle OLE DB Provider 를 사용할 때 나타나는 이슈로 by design 여부 확인 필요


[WORKAROUND]
오라클 데이터베이스 연결 정보(패스워드)를 포함하는 XML 구성 파일을 생성한 후 이를 패키지 구성에 포함하는 방법으로 문제를 해결합니다.

1. 메모장을 실행하여 .dtsConfig 파일을 생성하여 아래 정보를 작성한 후 저장합니다. 예) Oracle_laigo.dtsConfig 로 저장

<Configuration ConfiguredType="Property"
Path="\Package.Connections[LAIGO_ORACLE.laigo].Properties[Password]"
ValueType="String">
<ConfiguredValue>P@ssw0rd</ConfiguredValue>
</Configuration>


붉은색으로 표기된 부분을 환경에 맞게 변경합니다.

2. BIDS 실행 후 해당 Configuration 파일을 패키지에 연결하여 구성합니다.
 가. SSIS - Package Configurations - Add - Next - Specify configuration setting directly - Oracle_laigo.dtsConfig 





[분석결과]
1. 기존 Connection Managers(연결 관리자)를 삭제하고 신규로 생성하여 시도 - 동일 오류 발생
2. Package ProtectionLevel - DontSaveSensitive
3. SSIS - Package Configurations... - Add - XML configuration file 생성 결과 - ORACLE DB 연결 패스워드 BLANK 상태


[참고자료]
You get "DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER" error message when using Oracle connection manager in SSIS
http://support.microsoft.com/kb/2009312

Managing and Deploying SQL Server Integration Services
http://msdn.microsoft.com/en-us/library/cc966389.aspx


작성자 : Lai Go / 작성일자 : 2010.04.26

Posted by Lai Go