이전 포스트(닷넷 트랜잭션 정리)에서 닷넷 프레임워크 2.0부터 제공해주는 TransactionScope 클래스를 사용하여 Oracle DB에서 트랜잭션을 처리하기 위해서는 Ora MTS가 필요한 것을 알았다. Windows Vista에서 Ora MTS를 사용하여 트랜잭션을 처리하기 위해서는 패치가 필요하다. 다음 표는 운영체제별로 Oracle 10g로 트랜잭션을 처리하기 위해서 필요한 프로그램을 정리해보았다.
                                                                                                                                       (32bit 기준)
 Windows Xp(Server 2000)  Windows Vista(Server 2008)
 Oracle 10g  10.1.0.2  10.2.0.3
 ODAC(Ora MTS)  10.1.0.4.0  10.2.0.2.21
 Patch Set  X  10.2.0.4

Oracle 10g 다운로드 : http://www.oracle.com/technology/software/products/database/index.html
ODAC 다운로드 : http://www.oracle.com/technology/software/tech/windows/odpnet/index.html
Patch Set 다운로드 : https://metalink.oracle.com/CSP/ui/index.html

xp의 경우에는 설치할 때의 그닥 문제가 없다. ODAC만 설치해줘도 TransactionScope를 사용해서 트랜잭션 처리가 가능하다. 하지만 Vista의 경우에는 ODAC 다운로드 링크에서 설치 문서대로 설치를 해줘야 한다.(설치 순서도 지켜 설치하고 ODAC와 Patch Set은 Database가 설치된 Oracle Home디렉토리로 경로를 맞춰서 설치해준다.)

1. Install Oracle Database Client (10.2.0.3.0) for Microsoft Windows Vista and Windows Server 2008.
2. Download ODAC1020221.exe or ODTwithODAC1020221.exe and unzip its contents by running the executable.
3. Run the Oracle Universal Installer (OUI) by launching setup.exe from the "install" directory that was unzipped in Step 2.
4. On the OUI screen named "Specify Home Details" choose the same Oracle Home as in the Step 1 and proceed.
5. Install Oracle Database 10g Release 2 (10.2.0.4.0) Patch Set. This patch can be downloaded from Oracle Metalink.

여기서 ODAC1020221를 설치하려고 하면 javaw.exe 에러가 발생하여 설치 프로그램이 자동으로 종료가 되어버린다. 여러곳에 검색을 해서 해결방법을 찾으려 했지만 모두 실패했다. 네이버에서 MS Office 2007때문에 설치안된다는 것을 처음에 보았는데 말이 안된다는 생각에 해보지 않았다. 다른 Vista가 설치된 PC에 설치해보려고 해도 역시나 같은 에러가 발생하였다. 마지막으로 Office를 지우고 설치를 해보았다. 설치가 되었다 -_-;;
그래서 이제는 되는구나 싶어서 프로그램을 실행시켰더니 Branch 길이가 다르다는 메세지가 떳다. 다른 사람의 말에 귀도 잘기울려야 하고 설치 가이드도 무시하지 말고 꼼꼼하게 잘봐야한다는 생각을 했다 ㅡ.ㅡ;;;
Oracle Metalink는 오라클 온라인 고객지원 사이트라고 생각하면 된다. 이것은 Oracle과 유지보수 계약을 맺으면 CSI라는 넘버를 부여하고 그 아이디를 이용해서 사용자 등록을 한 이후에 관리자가 승인(회사라면 회사내의 특정한 분이 관리자로 임명되어있다.)처리를 해주면 등록한 이메일 주소로 패스워드를 받아서 로그인을 할 수 있다. 여기서 Patch Set를 받아 드디어 설치를 했고 Vista에서도 TransactionScope를 이용해서 트랜잭션을 처리할 수 있었다. 하지만 이 설치과정이 배포할 경우 모든 클라이언트에 해야한다는 면에서 너무나 부담스럽게 느껴졌다.(패치의 용량이 거의 1G다. ㅡ.ㅡ;) 특히나 원래 DB를 MSSQL를 사용하고 있다가 Oracle에 연결하여 어떤 정보를 가져와야 한다거나 하면 모든 PC에 ODAC와 패치를 설치해줘야 한다니 누가 한단 말인가? +_+;
닷넷을 사용하면 웬만하면 MSSQL를 사용하는 것이 좋다는 생각이 들고 당연히 오라클과 같은 다른 DB에 접속을 하여 처리해야 하는 경우에는 웹서비스를 이용해서 서버에만 ODAC와 패치를 설치해주는 것이 어떨까 하는 생각을 해봤다.
Posted by resisa
,