2012-09-03 3 views
1

나는 해결책을 찾지 만 더 많은 혼란을 겪고 있습니다.odbc와 freetds를 사용하여 php에서 MSSQL 2008 db에 연결할 수 없습니다.

FreeTDS를 사용하여 PHP에서 SQL Server 2008 db에 연결하려고합니다. 서버는 MediaTemple DV 4.0이며 CentOS 5.7을 실행 중입니다. FreeTDS (v0.91) 버전을 설치했는데 몇 달 전에 다시 컴파일했을 수도 있습니다. tsql -C를 실행하면 freetds.conf가/usr/local/etc와 TDS 버전 5.0에 있음을 알 수 있습니다. TDS 버전 7.0이 필요하지만 conf 파일을 변경하면 변경되지 않습니다. 그리고 내가 사용하고있는 conf 파일을 찾을 수 없다. (문제 1)

저는 tsql -H -p -U를 사용하여 db에 연결할 수 있고 쿼리를 실행할 수 있습니다. 그러나 내 PHP 파일에서 나는 DB에 연결 오류라고 생각 IM002 오류가 발생합니다. 나는 그것을 위해 odbc_connect를 사용한다. 어디서부터 시작 내가 설치되었습니다로 (문제 2, 가장 큰 문제)

내가 어떻게가에 어떤 제안을 환영 ... 지난 2 개월에 대한 제거, 몰라 문제를 해결하십시오. 참고로, 이전에 MediaTemple에서 DV를 업그레이드하기 전에 작동 했었습니다.

감사합니다. FreeTDS를 v0.91 freetds.conf 디렉토리 :/usr/지방/등 MS 숀 여기

는 (이하 "구성"스크립트 설립) 내 TSQL -C

컴파일 - 시간 설정 버전입니다 DB-LIB 소스 호환성 : 없음 베이스 바이너리 호환성 : 없음 스레드 안전 : 예 의 iconv 라이브러리 : 예 TDS 버전 : 5.0 이 iODBC : 없음 인 unixODBC : 예 SSPI는 로그인을 "신뢰할 수 없다": 더 Kerberos는 : 더

답변

0

SQL Server 2008 actually wants TDS Version 7.3 -- not 7.0, which corresponds to SQL Server 7.

내가 FreeTDS를 디버깅에 대한 지원을 제공 할 수 없습니다,하지만 당신은 my employer's offering 같은 문제를 해결하기 위해 어떤 인센티브있다 상업용 운전을 시도 할 수 있습니다. 2 주 동안 무료로 테스트 할 수 있습니다.

또한 iODBC.org 사이트의 using PHP with ODBC에 관한 문서를 제공합니다.

0

odbcinst.ini에서 디버깅이 켜져 있고 오류가 정의 된 로그 파일로 전송되는지 확인하십시오.

iSQL 도구를 사용하여 쿼리를 연결하고 실행하고 디버그 로그에서 오류를 확인하십시오. 이 도구는 unixODBC 패키지와 함께 제공되며 DSN을 사용하여 데이터베이스에 연결합니다.

이 페이지를보고 싶을 수도 있습니다. Sometimes isql doesn't connect and tsql does