PHP4でMSSQLサーバと接続(Debian Sarge)

DebianのPHP4でMicrosoftSQLServerと接続してるメモ

  • とりあえず、必要なものをインストール
    apt-get install apache2 php4 libapache2-mod-php4 php4-sybase
    

    php4-sybase がはいってればOK

  • SQLサーバとの接続設定(freetdsの設定)
    /etc/freetds/freetds.conf

    [サーバ名]
    host = サーバのIPアドレス
    port = 1433
    tds version = 7.0      (SQLServer6.5なら、4.2)
    charset = sjis
    client charset = eucjp
    language = japanese
    
  • 接続テスト
    $con = mssql_connect("サーバ名", "ログインID", "パスワード");
    mssql_select_db("DB名", $con);
    $sql  = "SELECT * FROM test";
    $rs   = mssql_query($sql, $con);
    $tmp  = mssql_result ($rs, 0, 0);
    print "Test : {$tmp}";
    mssql_close($con);
    
  • ハマリ
    SQLサーバ側のテーブルの定義でnvarcharの列がある場合、もってくるとなぜか半分のバイトになってちょんぎれたので、varcharとかにCASTで変換する必要がありました。
    $sql = “select NAME,cast(NAME as varchar(50)) from test”;
    前に全部ソースから入れてみてうまく行かなかったんですが、Debianのパッケージで全部すませたらあっさり繋がりました。
  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    CAPTCHA