0

これらの両方が私のローカルコンピューター上にあるとき、私はphpをsqlサーバーに接続しました。

ただし、PHPスクリプトがローカルコンピューターで実行されている場合は、SQLServerWebデータベースに接続する必要があります。

php_pdo_sqlsrv_54_ts.dll拡張機能とphp_sqlsrv_54_ts.dllPHP拡張機能を追加しました。

ローカルホスト上のSQLServerとの接続には、既にインストールしたSQL Serverネイティブクライアントドライバーも必要ですが、これはSQL Server Webデータベースへの接続にも関係しますか?

PHPスクリプトを実行すると、スクリプトの実行に時間がかかり、エラーが発生することがあります。

SQLSTATE [08001]:[Microsoft] [SQL Server Native Client 11.0] TCPプロバイダー:接続されたパーティが一定期間後に適切に応答しなかったために接続の試行が失敗したか、接続されたホストが応答しなかったために接続の確立に失敗しました。1

私の接続スクリプトは

    $serverName = "***.db.*****.********.com";
    try{
      $conn = new PDO("sqlsrv:server=$serverName;Database=*****",   "***UserName***", "***PWD***");
      $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
    }
    catch(Exception $e){ 
      die( print_r( $e->getMessage() ) ); 
    }
4

2 に答える 2

0

$ conn = new PDO( "sqlsrv:server = $ serverName; Database = * "、 " DBNAME "、 " PWD "); DB名の代わりに、ここにユーザー名を入力する必要があります

于 2012-12-22T13:11:45.753 に答える
0
  1. サーバーのIPアドレスを指定しようとしている$servernameの代わりに。
  2. ping serverip例のようなping要求を送信して、サーバーにアクセスできるかどうかを判断しますping 192.168.100.12

これも試してみてください..

    try {
    $hostname = "host";            //host
    $dbname = "dbname";            //db name
    $username = "user";            // username like 'sa'
    $pw = "pass";                // password for the user

    $dbh = new PDO ("mssql:host=$hostname;dbname=$dbname","$username","$pw");
    } catch (PDOException $e) {
    echo "Failed to get DB handle: " . $e->getMessage() . "\n";
    exit;
    }
    $stmt = $dbh->prepare("SELECT * FROM table");
    $stmt->execute();
    while ($row = $stmt->fetch()) {
    print_r($row);
    }
    unset($dbh); unset($stmt);

ここでより多くの例を見つけることができますhttp://php.net/manual/en/ref.pdo-dblib.php

于 2012-12-22T13:14:27.110 に答える