2010-04-01 7 views
0

기본적으로 여기에 내 문제가 있습니다. 우리의 데이터베이스 추상화 계층으로 MDB2를 사용하면서 SQL Express 2008에 연결할 수있는 솔루션을 찾고 있습니다. 나는 우리가 아직도 MySQL과 Postgres를 사용할 수 있어야하기 때문에 이런 것을 필요로한다. (그리고 ORM은이 시점에서 옵션이 아닌 것 같다.)MDB2 with SQL Express 2008

바람직하게는 PHP5.2 및 PHP5.3 모두에서 작동하는 솔루션이 있습니다.

처음에는 php_mysql 확장 도로를 따라갔습니다 ... PHP 5.3에서는 사용할 수없는 것처럼 보입니다.

php_pdo_mssql이 MDB2와 호환되지 않는 것 같습니다.

마지막으로, MS에서 개발 한 'SQLSRV'확장 프로그램이 있으며 한 지점에서 MDB2 '확장 기능'에 대한 작업이있는 것처럼 보이지만 메인 분기로 만들지 않은 것 같습니다 .

제발 ... 나에게 어떤 해결책이 있습니까?

+0

SQL Express 2008에 연결할 때 발생하는 문제는 무엇입니까? – Oded

+0

나는 서버 관리 스튜디오와 잘 연결할 수 있지만 PHP에서 시도 할 때 '연결할 수 없음'오류로 시간 초과가 발생합니다. 불행히도 지금은 문제가되는 코드 조각에서 벗어 났으므로 정확한 답변을 드릴 수는 없습니다. – Narcissus

답변

0

이것에 대한 정보를 찾고있는 다른 사람들에게 ... 지금까지 SQL Express 2008이 PHP 5.2에서 실행되는 MDB2로 작업했습니다.

아직 원격 서버에 연결하지 않았습니다. 지금까지는 로컬 호스트에서 실행중인 SQL Express에만 연결했습니다.

php_mssql.dll 확장명과 함께 제공되는 PHP를 사용하고 있는지 여부는 확실하지 않습니다. 어느 쪽이든 사용하지 못했습니다. 대신, 나는 링크에서 다운로드 한 php_dblib.dll을 http://docs.moodle.org/en/Installing_MSSQL_for_PHP에 사용했습니다. 이 라이브러리는 freetds.org의 FreeTDS 빌드입니다. 아직 어떤 주요 테스트도 수행하지 않았지만 연결할 수는 있지만 동료가 실제 테스트를 통해 성공했음을 알게되었습니다.

php_dblib.dll은 php_mssql.dll이 제공 한 mssql_ * 기능에 '대체'기능을 제공합니다. 따라서 php_dblib.dll을 활성화하기 전에 php_mssql.dll 확장을 비활성화해야합니다.

다른 작은 것들 참고 사항 :

1) 당신은 DB 연결 정보의 호스트 섹션에있는 '인스턴스의 이름을 포함해야 SQL Express 및 PHP 상태에있는 대부분의 문서 반면,이했던 것을 발견 나를 위해 일하지 않습니다 : 사실, 나는 명시 적으로 "\ SQLEXPRESS"를 제거해야했습니다.

2) 위의 무들 링크는 php_dblib.dll의 PHP 5.3 빌드를 제공하지만 불행히도 VC9로 빌드됩니다. 내가 가지고있는 PHP 5.3의 설치는 VC6로 구축되었으므로 PHP 5.3 용으로 내 자신의 php_dblib.dll을 작성하는 중이다.

어쨌든, 이것이 동일한 문제가있는 사람들에게 도움이되기를 바랍니다.