데이터베이스와 관련된 문제

이 섹션에서는 PHP와 데이터베이스 간의 관계에 대한 일반적인 질문을 다룹니다. 네, PHP는 오늘날 사용 가능한 거의 모든 데이터베이스에 액세스할 수 있습니다.

PHP로 Microsoft SQL 서버로 접근이 가능하다고 들었습니다. 어떻게요?

Unix 시스템에서는 PDO_ODBC 또는 통합 ODBC API를 사용할 수 있습니다.

Windows 시스템에서는 PDO_SQLSRV 또는 SQLSRV를 사용할 수도 있습니다.

다음 질문에 대한 답변도 참조하십시오.

Microsoft Access 데이터베이스에 액세스할 수 있습니까?

Unix 상자에서 PHP를 실행하고 Windows 상자에서 MS Access와 통신하려면 Unix ODBC 드라이버가 필요합니다. » OpenLink Software에는 이를 수행할 수 있는 Unix 기반 ODBC 드라이버가 있습니다.

또 다른 대안은 Windows ODBC 드라이버가 있는 SQL 서버를 사용하고 이를 사용하여 데이터를 저장한 다음 Microsoft Access(ODBC 사용) 및 PHP(내장 드라이버 사용)에서 액세스하거나 중간 파일 형식을 사용하는 것입니다. 플랫 파일이나 dBase 데이터베이스와 같이 Access와 PHP가 모두 이해하는 것입니다. 이 점에 대해 OpenLink 소프트웨어의 Tim Hayes는 다음과 같이 씁니다.

PHP에서 데이터베이스로 직접 ODBC를 사용할 수 있는 경우(예: OpenLink의 드라이버와 함께) 다른 데이터베이스를 중개자로 사용하는 것은 좋은 생각이 아닙니다. 중간 파일 형식을 사용해야 하는 경우 OpenLink는 이제 NT, Linux 및 기타 Unix 플랫폼용 Virtuoso(가상 데이터베이스 엔진)를 출시했습니다. 무료 다운로드를 위해 » 웹사이트를 방문하세요.

성공적인 것으로 입증된 한 가지 옵션은 Windows에서 MySQL 및 MyODBC 드라이버를 사용하고 데이터베이스를 동기화하는 것입니다. 스티브 로렌스는 다음과 같이 씁니다.

  • MySQL의 지시에 따라 사용중인 플랫폼에 MySQL을 설치합니다. » www.mysql.com에서 받을수 있습니다. 데이터베이스를 설치할때 외에는 특별한 설정이 필요치않습니다. 계정을 설정하고, host 필드에는 %로 놓거나 MySQL을 접속하고자하는 윈도우 컴퓨터의 호스트명을 넣습니다. 서버명, 계정, 비밀번호를 넣습니다.
  • MySQL사이트에서 윈도우드라이버용 MyODBC를 다운받습니다. 윈도우 머신에 그것을 설치합니다. 이 프로그램에 포함되어있는 유틸로 동작을 테스트할수있습니다.
  • ODBC 관리자 유저나 시스템 dsn을 만듭니다. 제어판에 위치합니다. dsn 이름을 만들고 스텝1에서 설정한 MySQL데이터베이스에 대한 호스트명, 유저명, 패스워드, 포트등을 넣습니다.
  • 전체 설치로 액세스를 설치해서, 필요한 애드인을 얻습니다... 최소한 ODBC 지원과 연결 테이블 관리자가 필요합니다.
  • 이제부터 중요한 부분입니다! 새 액세스 데이터베이스를 만듭니다. 그 테이블에서 오른쪽 클릭하고 링크 테이블(Link Tables)를 선택하거나, 파일 메뉴 옵션에서 Get External Data를 선택한후에 링크 테이블(Link Tables)을 선택하세요. 파일 브라우저 박스가 나올때 files of type: ODBC 를 선택하세요. 시스템 dsn과 스텝 3에서 만든 dsn의 이름을 선택하세요. 연결된 테이블을 선택하고, OK를 클릭하세요 이젠 테이블을 열수 있고 MySQL서버에 데이터를 넣거나/지우거나/수정 할수 있습니다. 질의(query)를 수행할수도 있고 MySQL에 테이블을 임포트(import)/익스포트(export)할수 있습니다. 폼이나 레포트도 만들수있고 기타등등...

팁과 트릭:

  • 액세스에서 테이블을 만들수 있고 MySQL로 그 테이블을 익스포트(export)할수 있고, 거기에 링크를 걸수 있습니다. 이렇게 하면 테이블을 빨리 만들어냅니다.
  • 액세스에서 테이블을 만들때, 액세스에서 테이블에 쓸수있는 권한을 부여하기 위해 정의한 프라이머리 키(primary key)가 있어야 합니다. 액세스에 링크를 걸기전에 MySQL에 프라이머리 키를 만들었는지 확인합니다.
  • MySQL에서 테이블을 변경한다면, 액세스로 다시 링크를 걸어야 합니다. tools>add-ins>linked table manager로 가서 ODBC DSN을 보고, 거기에서 다시 링크할 테이블을 선택합니다. 거기서 dsn의 원본을 옮길수 있습니다. OK하기 전에 새 위치(new location) 항상 확인 체크박스를 클릭하면 됩니다.