APM에서 윈도우 ODBC를 사용할 경우.
- 기본적으로 APM은 32비트용
-
그래서 64비트 관련은 사용할 수가 없다.
- 윈도우가 64비트라면
- http://support.microsoft.com/kb/942976/ko
- DB관련 드라이버를 64비트와 32비트 둘 다 설치하라
- 상세는 해당 DB의 ODBC 설치 메뉴얼 참고
-
보통 64비트 드라이버 설치시, 둘 다 설치해주더라.
- 제어판의 “데이터 원본(ODBC) 설정”은 64비트 용이다.
- 64비트 드라이버만 보이며, DSN도 64비트만 추가가능하다
-
62비트용 실행파일 위치 : C:\Windows\System32\odbcad32.exe
- C:\Windows\SysWOW64\odbcad32.exe 가 32비트용 “ODBC 데이터 원본 관리자”
- 여기선 32비트 드라이버와 추가된 32비트 DSN 추가가 가능하다.
-
(보이기는 64비트 DSN도 같이 보인다.)
- 이 프로그램에서 시스템 DSN 에 “추가”를 눌려서 추가한다.
-
사용자 DSN으로는 안되더라… 왜인지 모르겠다.
- 윈도우가 32비트면?
- 위에서 64비트 부분만 무시하면 끝.
이제 소스에서
소스
$conn = odbc_connect ( $dsn , $user , $password); if(!$conn){ echo odbc_error().’:’.odbc_errormsg(); exit(“error”); } var_dump($conn); exit(‘OK’);
정상 결과
resource(2) of type (odbc link) OK
처럼 해서 정상동작 하는지 확인.
- 윈도우의 ODBC컨트롤러를 사용할 경우 추가 옵션 부분을 못 적는 경우가 있다.
그럴 경우 레지스트리에 수동으로 추가해주면 된다.
64비트 윈도우 기준이다.(32비트 OS인 경우 64비트용 경로를 참고.) - 64비트용 경로
- 시스템 DSN
- HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI
-
64비트 전용 설정만 보임.
- 사용자 DSN
-
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
- 32비트용 경로
- 시스템 DSN
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI
-
32비트 전용설정만 보임.
- 사용자 DSN
- HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
- 64비트용과 같이 저장위치.. 왜인지는 모르겠다. 더이상 조사하기도 귀찮고.
64비트용과 같은 내용이 보인다.(즉, 64비트용에서도 32비트용 DSN설정이 보임.)