0

PHP と MS SQL Server 2005 との接続を確立しようとしています。Windows 8 で IIS 8 と PHP バージョン 5.3.28 を使用しています。私はすでに調査を行っており、MSSQL PHP PDO ( http://www.php.net/manual/en/ref.pdo-sqlsrv.connection.phpおよびhttp://technet.microsoft.com/en- us/library/ff754357(v=sql.105).aspx )、Microsoft の Web サイト (Microsoft Drivers 3.0 for PHP for SQL Server) から見つけたすべての PDO 関連の DLL をダウンロードして有効にし、それらが phpinfo() に反映されていることを確認しました.

extension=php_pdo_sqlsrv_52_nts_vc6.dll
extension=php_pdo_sqlsrv_53_nts.dll
extension=php_pdo_sqlsrv_53_nts_vc6.dll
extension=php_pdo_sqlsrv_53_nts_vc9.dll
extension=php_pdo_sqlsrv_54_nts.dll
extension=php_pdo_sqlsrv_54_nts.dll
extension=php_sqlsrv_54_nts.dll
extension=php_sqlsrv_53_ts_vc9.dll

Stock Over Flow の次のリンクも、私のジレンマに大いに役立ちました。

「ドライバーが見つかりません」と「接続文字列が無効です」の問題を修正できました。現在の PHP コードは次のとおりです。

$db_server = "func.website.com,8787";
//$db_server = "func.website.com:8787\sqlexpress";
$db_database = "db_BreadNButter";
$db_user = "tinapay";
$db_passwd = "p@ssword";

try {
   //$db = new PDO ("mssql:host=$db_server;dbname=$db_database;", $db_user, $db_passwd);
   $db = new PDO ("sqlsrv:Server=$db_server;Database=$db_database;", $db_user, $db_passwd);
} catch(PDOException $exception) {
   die("Unable to open database.<br>Error message:<br><br>$exception.");
}

MSSQL DBase への接続は既に確立していると思いますが、以下のエラーが表示されます。

exception 'PDOException' with message 'SQLSTATE[08001]:
[Microsoft][SQL Server Native Client 11.0]TCP Provider: Timeout error [258].
' in C:\inetpub\wwwroot\breadnbutter\class.connection.php:12 Stack trace: #0
C:\inetpub\wwwroot\breadnbutter\class.connection.php(12):
PDO->__construct('sqlsrv:Server=f...', 'tinapay', 'p@ssword') #1 {main}.

タイムアウトエラーが発生する理由と、これを修正する方法を誰か教えてもらえますか?

4

3 に答える 3

1

PHP 5.4.4 エラーで sqlsrv 2008 を接続する方法は次のとおりです: Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2 ] => この拡張機能には Microsoft SQL Server 2012 Native Client が必要です. 次の URL にアクセスして、x86 用の Microsoft SQL Server 2012 Native Client ODBC ドライバーをダウンロードしてください: http://go.microsoft.com/fwlink/?LinkId=163712 [メッセージ] => この拡張機能には Microsoft SQL Server 2012 Native Client が必要です.次の URL にアクセスして、x86 用の Microsoft SQL Server 2012 Native Client ODBC ドライバーをダウンロードしてください: http://go.microsoft.com/fwlink/?LinkId=163712 )

[1] => Array
    (
        [0] => IM002
        [SQLSTATE] => IM002
        [1] => 0
        [code] => 0
        [2] => [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
        [message] => [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
    )

)

于 2014-07-02T06:13:55.627 に答える
1

ポートは である必要がありますfunc.website.com:8787。コンマのタイプミスがあります。

于 2014-03-28T09:15:54.003 に答える
0

これにはまだ問題がありますが、PHP の代わりに asp を使用するように上司を説得することができます。私を助けてくれた人々に感謝します。

于 2014-04-15T07:59:50.550 に答える