APM에서 윈도우 ODBC를 사용할 경우.

less than 1 minute read

  • 기본적으로 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설정이 보임.)

🔗original-link

Updated: