[PHP-users 31781] Re: OSを変更するとSQL Serverと接続できず

aoki @ elkc.net aoki @ elkc.net
2007年 3月 31日 (土) 11:59:00 JST


はじめまして、ごろ猫さん

青木と申します。
私も以前、環境を変えたらMSSQLでつながらないということがありました。
結局、原因解明に至りませんでしたが、mssqlの代わりにADOを使うとなぜか接続
できました。
ただ、今からプログラムを書き換えることができるのならですが。

$myServer = "";	//アドレス
$myUser = "";       // DB接続ユーザ名
$myPass = "";   // パスワード
$myDB = "";     // DB名

$conn = new COM ("ADODB.Connection") or die("Cannot start ADO");

$connStr = "PROVIDER=SQLOLEDB;SERVER=".$myServer.";UID=".$myUser.";PWD=".$myPass.";DATABASE=".$myDB; 
  $conn->open($connStr);


On Sat, 31 Mar 2007 01:14:28 +0900
ごろ猫 <goroneko0622 @ king.odn.ne.jp> wrote:

> ごろ猫と申します。いつもお世話になっています。
> 
> この度の問題は以下の通りです。
> 
> WindowsXP ProでIISサーバ(WEBサーバ)とDBサーバ(SQL Server 2005)でアプリケーションを構成していました。アプリケーションはPHP5.2.1で動かしています。この構成では問題なく動いていました。
> 
> しかし、構成は同じくして、OSだけがWindows Server 2003 R2 Enterprise Edition 
> Service Pack1にIISサーバ及びDBサーバともに変更。
> 
> - php.ini について
> extension=php_mbstring.dll
> extension=php_mssql.dll
> のコメントをはずすし、
> - ntwdblib.dll については
> http://webzila.com/dll/1/ntwdblib.zip
> からダウンロード。解凍してc:\windows\system32 と c:\php の両方にコピーしました。 
> 
> 接続テストのため、以下のプログラムを動かしました。
> ------------------------------------------
> <?php
> // DB接続テスト
> 
> define("DB_server","■.■.■.■");
> define("DB_user","sa");
> define("DB_passwd","■■■■■■■");
> define("DB_db","■■■");
> 
> $db = mssql_connect(DB_server,DB_user,DB_passwd);
> if($db){
>  echo("DB接続に成功しました");
> }else{
>  echo("DB接続に失敗しました");
> }
> if(!mssql_select_db(DB_db,$db)) {
>  die("データベースに接続できませんでした\n");
> }
> ?>
> ------------------------------------------
> 
> しかし、結果は
> ------------------------------------------
> DB接続に失敗しましたデータベースに接続できませんでした PHP Warning: 
> mssql_connect() [function.mssql-connect]: Unable to connect to server: 
> ■.■.■.■ in E:\wwwroot\test_db.php on line 14 PHP Warning: 
> mssql_select_db(): supplied argument is not a valid MS SQL-Link resource in 
> E:\wwwroot\test_db.php on line 20
> ------------------------------------------
> という表示。
> 
> SQL Server Management Studio Expressでは問題なく接続できてDBにもアクセスできるのでIISサーバとDBサーバの間で通信が切れているという訳でもないようです。
> 
> XPではうまくいっていて、Windows Server 2003 R2 Enterprise Edition Service 
> Pack1では動かない理由をご存知のかたご教授ください。
> よろしくお願いします。
> 
> ごろ猫 
> 
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3




PHP-users メーリングリストの案内