2016-04-19 21 views
0

I持ってMSSQL DBに接続を行うようには見えません。次のコード:PHP/MSSQL接続

<?php 
$serverName = "SEVER_NAME\sqlexpress"; //serverName\instanceName 

$connectionInfo = array("Database"=>"TESTDB", 
          "UID"=>"SERVER_NAME\Administrator", 
          "PWD"=>"Password123"); 

$conn = sqlsrv_connect($serverName, $connectionInfo); 

if($conn) 
{ 
    echo "Connection established.<br />"; 
} 
else{ 
    echo "Connection could not be established.<br />"; 
    die(print_r(sqlsrv_errors(), true)); 
} 

?> 

メッセージは、ログインがユーザーのSERVER_NAMEの\管理者のために失敗したことを読み込み、それは私が見たものですDBプロパティをチェックすると、SQL Server Management Studioに表示されます。どんな助けでも大歓迎です。

+1

「ログインに失敗しました」とは、DID接続が正しく行われていないことを意味します。 dbに "Administrator"という名前のユーザーがいますか?その名前のWindowsレベルのアカウントが存在するからといって、それがmssqlの内部でも動作するわけではありません。 –

+0

ありがとう@Marc B、私はこれを二重にチェックしました。 DBに対してSERVER_NAME \ Administratorアカウントを使用していて、SQL Server Management Studioで接続プロパティが表示されたときに再確認しました。 –

答えて

0

ログイン名は、SQLサーバーがWindows認証を使用しているような疑いがあります。このスクリプトとSQLサーバが同じマシン上にある場合は、documentationのようにUIDとPWDを完全に省略してみてください。

オプションの$ connectionInfoパラメータでUIDとPWDキーの値が指定されていない場合、Windows認証を使用して接続が試行されます。

+0

ありがとう@Jacob参照;私はこのdbのWindows認証を使用します。あなたが提案したように、UIDとPWDを削除しましたが、メッセージに「NT AUTHORITY \ SYSTEM」というユーザーのログインに失敗しました。 –