[PHP-users 9027] Re: MS SQLServer への接続
Tatsuya Matsuyama
php-users@php.gr.jp
Mon, 29 Jul 2002 20:56:20 +0900
松山と申します。
----- Original Message -----
Sent: Sunday, July 28, 2002 4:32 PM
Subject: [PHP-users 9003] MS SQLServer への接続
> linux 2.2.19 + Apache 1.3.26 + SSL 0.9.6d + PHP4.2.2
RedHat7.3J+ Apache 1.3.26 + PHP4.2.2 + freeTDS0.53
から
NT4.0+SQLserver7.0
という構成で使っています。
> http://www.amy.hi-ho.ne.jp/jbaba/unix/unixodbc1.htm
> にて、「 FreeTDS の ODBC の実装は、まだまだ不十分です。 」
> と記されているように、現段階では実用化直前(=非実用的)と
> いう理解で間違っていないでしょうか。
>
スタートとゴールをどこに置くのかによると思います。
私のところでは、
30名程度の会社の基幹DBとして運用していますが、
これといって問題はありません。
Accessも使う既存DBにオーバーラップさせる形で
Webアプリを構築しましたが、併用しても問題ありません。
> http://www.asakawa.ne.jp/doc/php/ja/sjis/ref.mssql.html
> では、一通りの関数の Entry は用意されていますが
> やっぱり肝心の ODBC が、、、日本語が混じるとさらに
> 問題があったりするのでしょうか。
漢字のフィールド名を通すのか私は調べていません。
データは問題なく扱えています。
私の場合は、
既存DBに多数の漢字名フィールドがありましたが、
テーブル構成の確認も兼ねて、
必要なテーブルをviewにアルファベットで登録しなおして
使っています。
スタートの時点で、このような作業が現実的でないなら
難しいかもしれません。
また、ゴールをSQLserverの完全動作に求めるなら
それもまた、難しいかもしれません。
私のところでどうしても不可避の問題として、
「phpからSQL認証の失敗を拾えない」があります。
例えば、phpマニュアルにある以下のコードですが、
$conn = pam_auth($username, $password, &$error);
if (!$conn) {
echo $username,"+", $password,"=",$error;
exit;
}
$username, $password共に半角アルファベットなのですが、
上記の構成では、間違えるとsegmentation_faultでphpのプロセスが落ちてしまい、
画面には「アクセスできません」エラーが表示されてしまいます。
回避するには、認証を別途用意してあげる必要があります。
このような試行錯誤を少しでも減らしたいなら、
最初からasp+SQLでいく方が時間の節約にはなると思います。
以上、参考までに。