2013-03-27 2 views
1

PHP로 MSSQL 데이터베이스에 연결하려고하는데 연결하는 동안 매우 실망스러운 오류가 발생합니다.SQLSrv 및 PHP 5.4.7을 사용하여 MSSQL에 연결하는 중 오류가 발생했습니다.

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08001]: 
[Microsoft][SQL Server Native Client 11.0]Named Pipes Provider: Could not open a connection to SQL Server [53]. 

가 여기 내 연결 문자열입니다 : 그것은 다음과 같은 메시지를 인쇄하기 전에, 잠시로드

DB::config("sqlsrv:Server={$dbHost} ; Database={$dbName}", $dbUser, $dbPass); 

그리고 내 DB 클래스의

:

public static function config($dsn, $user, $pass) 
    { 
     self::$_pdo = @new PDO($dsn, $user, $pass); 
     ...// intentionally left out 

나는 매우 당황 해요 . 내 php.ini 파일에 다음 모듈이 구성되어 있습니다 : extension = php_pdo_sqlsrv_54_ts.dll. 내 생각이지만 내가 잘 설치하고 난 드라이버가 작동하지에 대한 오류 메시지가 나타납니다, PHP의이 비트는 아무것도 출력하지 :

if (function_exists('sqlsrv_connect')) 
    echo "hey"; 

을 당신은 SQL 서버 네이티브 클라이언트 내 위의 오류 메시지에서 볼 수 있듯이 11이 작동하는 것처럼 보입니다. 나는 Windows 플랫폼을 사용하고 있습니다. 나는 방화벽을 무용지물로 만들려고했다. 필자는 SQL 서버에 대한 정보가 많지 않거나 여기서 공유 할 것입니다.

Stack에 게시하는 것은 이번이 처음입니다. 중요한 정보를 남기거나 어떤 식 으로든 올바른 예의를 따르지 않으면 사과드립니다. 그러나 어떤 도움도 분명히 인정됩니다.


또한 나는 이미 너무 많은 인터넷 검색을 수행했으며 아무런 성공도하지 못했다고 덧붙여 야합니다.

+0

SQL Server에서 네트워크 연결을 허용합니까? SQL Express를 사용하면 기본적으로 사용하지 않도록 설정됩니다. –

+0

실제로 컴퓨터에 연결하려고 시도하는 것과 같습니다.다른 서버에 연결을 시도했지만 실패했습니다. 또한, 맥용으로 sqlsrv를 사용하는 사람도 괜찮습니다. – ncksllvn

답변

6

설치 프로세스가 실제로 작동했지만 실제로 연결이 잘못되었습니다. IP 주소를 호스트 이름으로 사용 했어야했는데 그렇지 않았습니다. 나는 또한 포트 번호 앞에 콤마 대신 콜론을 사용했다. 마지막으로 연결 문자열에는 공백을 사용할 수 없으므로 자동으로 제거됩니다. 그래서, 여기에 비슷한 곤경에 자신을 찾을 수 있습니다 당신의 사람들을위한 유효한 연결 문자열입니다 :

$connectionString="sqlsrv:Server=123.123.12.1,9864;Database=mssqldatabaseWootWoot"; 

또한, 그 기능 sqlsrv_connect에 대한 내 이전의 관찰에 응답이, 그 기능에 필요한 드라이버를 사용할 수 없습니다했다 . 이 기능은 php_sqlsrv_54_ts.dll에 있으며, 활성화 한 후에이 기능을 기존 것으로보고합니다.

언제든지이 문제를 해결해 준 사람 덕분입니다.

1

동일한 문제가 발생했지만 IP 주소를 사용할 필요가 없다는 것을 알았습니다. 서버 이름은 그냥 풀 타임으로 작동했습니다. 나는 또한 점점에 도움이 다음 링크가 PDO가 작동하는 것으로 How to find the port for MS SQL Server 2008?

:

PHP PDO Connection to SQL Server with integrated security?

Use of PDO in classes

또한 내 서버가 사용 된 어떤 포트 확실하지 않았다, 나는 여기에 정보를 발견 MS SQL Server (PDO) — Microsoft SQL Server Functions (PDO_SQLSRV)

나는 그의 문제를 해결 한 ncksllvn을 알고 있으므로 다른 사람들이 방문하는 데 도움이되기를 바랍니다.

관련 문제