sql >> データベース >  >> RDS >> Sqlserver

PHPを使用して接続するSQLServerアドレス

    エディションがSQLServerExpressの場合は、おそらく次のものを使用する必要があります。

    $objConnect = mssql_connect("localhost\SQLEXPRESS","usr","pass");
    

    または、それ以外の場合は名前付きインスタンスの場合、

    $objConnect = mssql_connect("localhost\InstanceName","usr","pass");
    

    リモートで接続する必要がある場合は、明らかにlocalhostを使用しないでください。 リモートウェブサーバーはどのようにしてあなたのを見つけるのでしょうか localhost ?次のいずれかを使用する必要があります(リモートWebサーバーがIPアドレス192.168.5.22のマシンを認識できると想定):

    $objConnect = mssql_connect("192.168.5.22\SQLEXPRESS","usr","pass");
    $objConnect = mssql_connect("192.168.5.22\NamedInstance","usr","pass");
    $objConnect = mssql_connect("192.168.5.22","usr","pass");
    

    もちろん、ファイアウォールでその接続を受け入れるには、ポート1433(場合によっては1434)を開いている必要があります。また、ここでも問題が発生する可能性のあるさまざまな問題があります。

    ただし、少しデバッグ101の提案。代わりに:

    if($objConnect)  
    {  
      echo "Database Connected.<br />";  
      echo mssql_error();
    }  
    else  
    {  
      echo "Database Connect Failed.<br />";  
    }  
    

    理由:

    if($objConnect)  
    {
      echo "Database Connected.<br />";  
    }  
    else  
    {  
      echo "Database Connect Failed.<br />";  
      echo mssql_error();
    }  
    

    確かに、データベースが正常に接続されたときに、ページにエラーを書き込む必要はありません。また、実際に受け取ったエラーメッセージをお知らせいただくと、解決策の方向性を示すことができます。あなたが書いた一般的な「データベース接続に失敗しました」というメッセージは、実際に何が悪かったのかについての手がかりを誰にも与えません。しかし、私はmssql_error()に賭けます かもしれない!




    1. MYSQLで最後に出現した部分文字列を置き換える方法は?

    2. Eclipse / Hibernateツールエラー:アーカイブクラスパスエントリが存在しません

    3. Oracleを使用したブロックプロシージャPL/SQL

    4. SysBenchを使用してMySQLのパフォーマンスをベンチマークする方法