2

私はこれが新しい質問ではないことを知っています。同様の質問がたくさん見つかりましたが、私の問題を解決するものではありませんでした。

私の質問は、Apache(xampp)で実行されているphpで他のドメインWindows資格情報(ログインしたものではない)を使用してリモートSQL 2000サーバーに接続する方法です...そしてサーバーは名前付きインスタンスを実行しません。

これらは私が試したこと、

  1. PHP 5.3用のSQLネイティブクライアントをインストールしました
  2. extフォルダーに.dllファイルを取得しました
  3. phpinfoを介してsqlsrvを起動して実行していることを確認しました
  4. mssql.secureconnections がオンになっています
  5. php.ini を編集し、Apache サーバーを再起動します

そのため、ここや他の場所でさまざまな投稿を見てみましたが、実際に問題を解決できませんでした。

いくつかのコードを試しましたが、現在試しているコードは次のとおりです

$server = "XXX_Server";

$connInfo = array( "データベース"=>"DB_Server", "UID"=>"ユーザー名", "PWD"=>"パスワード");

$conn = sqlsrv_connect($server, $connInfo);

if( $conn )

{ echo "接続が確立されました。";

}

そうしないと

{

echo "接続を確立できませんでした。";

die( print_r( sqlsrv_errors(), true));

}

以下に示すようにエラーが発生します。

接続を確立できませんでした。

配列 ( [0] => 配列 ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [コード] => 18456 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user 'xx\username'. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user 'xx\username'. ) [1] => Array ( [ 0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [コード] => 18456 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server] ユーザー 'xx\username のログインに失敗しました'. [メッセージ] => [Microsoft][SQL Server Native Client 10.0][SQL Server]ユーザー 'xx\username' のログインに失敗しました。) )

xx = ドメイン

また、クライアントは、サーバーにアクセスできる Windows 資格情報を提供しており、これのみを使用する必要があることに注意してください。そして、スクリプトで資格情報(アクセス権もある)をハードコーディングすると、機能せず、上記のエラーが発生しましたが、QueryExpress / SQL Studioを使用すると、Windows資格情報(私のもの)を使用してデータベースにアクセスできます。

簡単にするために、Windows資格情報をハードコーディングしてSQL DBに接続する必要があるスクリプトを作成し(ここで立ち往生)、Windows広告認証を使用して少数の人だけがスクリプトにアクセスできるようにする必要があります(方法は知っています)。

立ち往生していて、続行する方法がわからないので、いくつかのヒントとアドバイスを提供してください。何を調べて試しても、壁に直面して同じことをすることになります :P

前もって感謝します

4

0 に答える 0