1

次の資格情報を使用して、クライアント PC から SQL Server Express に接続できます。管理スタジオで:

server: 192.168.44.96\sqldb
auth: windows auth
user name: domain\user
pw: 1234!

上記の SQL サーバーに接続しようとしている LAMP サーバーを用意します。PHP は次のようになります。

$server = '192.168.44.96\sqldb';
$username = 'domain\user';
$password = '1234!';
$database = 'testing123';
$connection = mssql_connect($server, $username, $password);
if($connection != FALSE){
    echo "Connected to the database server OK<br />";
}
else {
    die("Couldn't connect" . mssql_get_last_message());
}

if(mssql_select_db($database, $connection)){
    echo "Selected $database ok<br />";
}
    else {
    die('Failed to select DB');
}

ページには「接続できませんでした」と表示され、error.log には「サーバーに接続できません: 192.168.44.96」と表示されます。

また、php.ini で mssql.secure_connection = On を設定し、apache2 を再起動しました。

何かご意見は?

ありがとう!

4

2 に答える 2

1

PHP の部分についてはコメントできません。SQL Server しか知りません。
しかし、これは Windows 認証のしくみではありません。
Windows 認証を使用して、ユーザー名とパスワードをサーバーに明示的に渡すことはできません。次のいずれかを行う必要があります。

  1. SQL Server 認証を使用し、ユーザー名とパスワードを明示的に渡します
  2. Windows 認証を使用し、ユーザー名とパスワードを渡さない- アクティブな Windows ユーザーに自動的に接続します。

Linux サーバーを使用しているため、Windows 認証を使用できないと確信しています。そのため、SQL 認証 (SQL Server の新規インストールで有効にする必要があります) を使用する必要があり、SQL Server でユーザーを作成する必要があります。

于 2012-05-21T21:48:15.637 に答える
0

デフォルトの sqlexpress インストールがある場合は、リモート アクセス接続を許可するように SQL サーバーを構成する必要がある可能性があります。また、Windows認証で接続できるかどうかもわかりません。SQL サーバーで、SQL 認証をセットアップし、uid=;pwd= を使用することもできます。

于 2012-05-21T21:48:46.407 に答える