0

このコードを使用して SQL Server 2012 に接続していますが、機能しません

<?php
$objConnect = mssql_connect("localhost","usr","pass"); 

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

mssql_close($objConnect);  
?>  

それは常に印刷されますDatabase Connect Failed.

また、外部 Web サーバーからローカル SQL Server に接続するにはどうすればよいですか?

4

1 に答える 1

3

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

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

または、名前付きインスタンスの場合は、

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

リモートで接続する必要がある場合localhostは、リモート Web サーバーがどのようにあなたの 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();
}  

データベースが正常に接続されたときにページにエラーを書き込む必要はありません。また、実際に表示されるエラー メッセージをお知らせいただくと、解決策をご案内できる場合があります。あなたが書いた一般的な「Database Connect Failed」メッセージは、実際に何がうまくいかなかったのかについての手がかりを誰にも与えません。しかし、私mssql_error()はそうかもしれません!

于 2012-06-18T21:51:06.950 に答える