IIS 64bitOS에서 32bit응용프로그램 실행하기 ODBC

2010. 7. 1. 09:42Scrapbook/개발 및 프로그래밍

반응형
난 2박3일 고생하고 있었다.
아 64bit가 사람잡네 -_-;;

1박2일 고생했다...내가 머리가 나쁜건가..ㅡㅜ

 

나같은 분은없겠지만...다들 시간단축하시길 바라면서...

 2003 64bit 일단 32bit어플 설치도 되고 호환성이 좋은거 같다...

 문제는 IIS 웹서비스를 하기위해 32bit ODBC라든가 서비스해야하는

 32bit어플들이 문제다...

 

우선 ODBC부터 가자 9.2.0대버젼 오라클 클라이언트를 설치하고 ODBC 설정을 해줄라했드만..

 왠걸.. ODBC가 보이질 않는다..ㅡㅡ;

 한참찾아다녔다... 32bit ODBC드라이버들은 여기있었다...

 

%WINDOWS%SysWOW64\odbcad32.exe 이게 32bit넘들 모여있는 곳이다..

 이놈을 실행시켜야 한다...

 관리도구가서 ODBC추가하는건 C:\Windows\system32 64bit넘들이다...ㅡㅡ;

 

그러니 당연히 32bit넘들이 안보이는건 당연지사..

 %WINDOWS%SysWOW64\odbcad32.exe 여기서 살포시 추가해주자...

 뭘검색해야 할지도 모르고 오라클 metalink가서 뒤적거리다 찾은넘이다..ㅡㅡ;

(나중에 네이버에서도 찾긴했지만...암튼 원문은 이렇다..이러니 1박2일..ㅡㅜ)

 /*

There are two separate versions of the Microsoft ODBC Administrator on Windows 64-bit systems: a
64-bit version, and a 32-bit version. The 64-bit version of the ODBC Administrator is found here:

C:\Windows\system32

The 64-bit version of the ODBC Administrator is the version pointed to by Windows menu shortcuts,
and is thus the version typically opened. This version searches the
HKEY_LOCAL_MACHINE\Software\ODBC branch of the registry for 64-bit ODBC drivers.

The 32-bit version of the ODBC Administrator is found here:

C:\Windows\SysWOW64
*/

 

*OLEDB 로 붙으시는 분들 UDL 드라이버를 아무리눈씻고 찾아봐야 안뵐꺼다..

그때는
이렇게...

윈도우키+E 창하나 뜰꺼다...

도구->폴더옵션->파일형식->새로만들기 누르면

파일확장명 넣으라고 나온다. UDL32 쯤이 좋겠다..32bit니까..ㅡㅡ;

UDL32라고 넣어주자..그리고 확인

그럼 파일형식창에 UDL32라고 등록된다.

고급 버턴눌러서 깔쌈하게 아이콘부터 변경해주자...

C:\Program Files (x86)\Common Files\System\Ole DB\oledb32.dll
이놈으로 변경하면 깔쌈하게 아이콘도 생긴다..ㅜㅠ

동작 이라고 있는 곳 옆에 새로만들기 누른다.

명령에 open 이라고 쳐주고

명령에 실행할 응용프로그램 에는

C:\WINDOWS\SysWOW64\Rundll32.exe "C:\Program Files (x86)\Common Files\System\OleDB\oledb32.dll",OpenDSLFile %1

 

이라고 넣어주자...

그뒤부터는 다들 아시듯이 notepad열어서 확장자UDL32로 해서 저장한담에

드라이버 찾으면 보인다..ㅡㅜ  이것도 오라클 metalink가서 찾았다..ㅡㅡ;

경로는 알아서 잘써주시길바란다...복사해서 붙여넣었다가 안된다고 하시지 마시길..ㅡㅡ;

뭐 죄다 영어냐..ㅡㅡ;

  

참고로 난영어 꽝이다..알아서 해석...ㄷㄷㄷ

 ODBC설정했으면 이제 웹에서 써야 하지 않겠냐...

 ODBC 박아놨다고 IIS에서 사용?? 천만에 말씀...왜 DB연결이 안되나 한참찾았다...

 원문은

http://www.wssplex.net/TipnTech.aspx?Seq=292   <--참고바란다..

 난 JSP 하던놈이라 ASP 모른다..그런데 어찌하리..ㅜㅠ 하라는데..ㅡㅜ

 

암튼 요약인 즉슨.. IIS에서 32bit DLL 호출을 해야 하는데 명령어는

 cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 true

 위에서 말했듯이 난 ASP모른다...이걸어따 쳐야하는지 cscript 부터 또시작했다...

 

커맨드창가서 c:\Inetpub\AdminScript 까지 간다음에 저거 치면 된다....

 문제는 원문 페이지가봐서 알겠지만 64bit 어플쓰는 놈이있다면 충돌난다...

 한마디로 32면32 64면64 하나만 쓰란이야기다..ㅡㅡ;

 

거기에 난 저기서 ISAPI필터 다지운줄알고 해봤는데 안되더라..

 각각 웹싸이트에 있는 ISAPI 다지우고 왜안되나 한참 찾았다...

 보니까 인터넷 정보서비스(IIS) 에 '웹 사이트' 폴더에도 하나 걸려있더라..ㅡㅜ

 그거지우니까 되긴된다....

 

ASP하시는 분들은 다들 아시겠지만 JSP 하다가 이런거 만나면 황당하다..ㅡㅜ

 이렇게 설정하니 크리스탈 레포트9버젼도 잘돌아가고... 뭐 암튼 이렇다...

 FTP는 걍 지워버려서 웹 사이트하고 같이 쓸수있을지는 테스트 안해봤다...

 

32bit는 32bit OS에서 사용하는게 젤 속편하다..ㅡㅡ; 이게 뭔짓이고..ㅡㅜ

 암튼 도움이 되셨다면 뎃글은 쎈쓰인거 아시죠??ㅋㅋ

반응형