ホームページ >バックエンド開発 >PHPチュートリアル >php5.3 が SQL Server2008 に接続できませんでした。助けてください。

php5.3 が SQL Server2008 に接続できませんでした。助けてください。

WBOY
WBOYオリジナル
2016-06-23 13:48:55888ブラウズ

PHP バージョンは 5.3.22 で、非スレッドセーフです
データベース SQL サーバー 2008 R2、同じサーバー上ではなく、LAN
IIS6.0 win2003

Baidu に従ってインストールされています
Microsoft SQL Server 2008 R2 ネイティブ クライアント (sqlnlci.msi)
PHP 2.0 のサーバードライバーの SQL php_pdo_sqlsrv_53_nts_vc6.dll
と php_sqlsrv_53_nts_vc6.dll
は、最終的に php.info に拡張機能を追加しましたが、データベースに接続するときにエラーが再び報告されました。私は初心者であり、これに取り組んでいます。本当に仕方がありません、助けてください

これは phpinfo にロードされます
接続コードは次のとおりです

$pwd="1234";
$db_name="test ";
$serverName="155.46.2.23";


$connectionInfo=array("UID"=>$uid,"PWD"=>$pwd,"Database"=>$db_name);
$ conn = sqlsrv_connect( $serverName,$connectionInfo);

if($conn==false)
echo"接続できませんでした。";
die( print_r( sqlsrv_errors(), true)); echo"sqlserver connect .";


エラー報告


データベースもリモートであり、TCP/IP パイプが有効になっています 1433

助けてください、マスター





に返信議論(解決策)

同じサーバー上にないため
SQL サーバー リモート アクセス サービスを開いて認証する必要があります

SQL サーバー リモート アクセスは、ログインしているアカウントを許可することを意味しますか?
SQL サーバーへのリモート アクセスは許可されますか? 承認とは、ログインしたアカウントを承認することを意味しますか?

マネージャーの指示に従います


データベースのリモート接続が許可されていることを確認しました。これに従ってください

http://wenku.baidu.com/link?url=W9y3IxRCMEfw_q_EJHESqVp2t8AmgBmjbu1_RlHrfbh9SgLw8m-eHqFwCz8Rk3hZQnbpUs x uQU7tnHZOgXOIY4gk9MukiHOzc1OCNIrR_

構成は同じです

例接続するときに、IP アドレス、データベース名、ユーザー名、パスワードが使用されていませんか?インスタンス名はどうやって指定するのでしょうか?

sqlnlci のバージョンなのか、それとも設定エラーがあるのか​​、いくつか疑問があります。もう一度確認してください。

sqlsrv_connect( string $serverName [, array $connectionInfo])
パラメータ

$serverName: a string : 接続先のサーバーの名前を指定します。この文字列には、インスタンス名 (たとえば、「myServerinstanceName」) またはポート名 (たとえば、「myServer, 1521」) を含めることができます。このパラメータで使用可能なオプションの詳細については、「文字列キーワードの SQL ネイティブ クライアント サーバー キーワードでの接続文字列キーワードの使用」の「ODBC ドライバー接続文字列キーワードのサーバー キーワード」セクションを参照してください。

$connectionInfo [オプション]: 接続プロパティを含む接続配列 (例: array("Database" => "AdventureWorks"))。次の表は、この配列でサポートされているキーを示しています。

接続コードは次のとおりです


$pwd="1234";
$db_name="test"; .2.23" ;


$connectionInfo=array("UID"=>$uid,"PWD"=>$pwd,"Database"=>$db_name);

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


さらに、 $serverName="155.46.2.23,1433"; も試しました

ポート番号 TCPプロバイダーになってエラー報告


ポート番号を追加してみる
以前はマシン名を使用していました(IPで接続できませんでした)

ポート番号を追加するとエラーになりましたこのように


どう思いますか? SQL サーバーのネットワーク構成に問題があると誰もが考えていますが、インターネット上で言及されているリモート接続はすべて構成されています。何か影響はありますか?

まず、クライアントを使用してデータベースに接続できるかどうかを試し、パラメーターとネットワーク構成に問題がないことを確認してください。

先生、ローカルサーバーのセキュリティポリシーにオープンポートの送信および受信ルールがないかどうか、および相手のサーバーにオープンポートがあるかどうかを確認できます

ネットワーク管理者、皆さんのご返信ありがとうございます。 LAN のせいでデータベースが置かれているサーバーが修正されましたが、アクセスは制限されていますが、開いた後は接続できます。落とし穴はどこにでもあります。 。 。 。 。 。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。