[PHP-users 7546] PEAR & MSSQL & FreeTDS

Yasushi Matsuura php-users@php.gr.jp
Fri, 17 May 2002 16:01:06 +0900 (JST)


まつうらと申します。

現在以下のような環境でPEARによるconnectが失敗して悩んでおります。
【環境】
  <phpサーバ>
   OS: Debian sid (kernel 2.4.18)
   Apache: 1.3.24
   PHP4: 4.1.2
  <MS SQLServer>
   OS: WindowsNT 4.0
   DB: MS SQLServer 7.0

試したコードは以下のとおりです。

<?php
require_once("DB.php");

$db = DB::connect("mssql://user:pass@MSSQL/sampledb");

$sql = "select * from sample";
$rs = $db->query($sql);
while($row = $rs->fetchRow()){
    echo "$row[1]\n";
}
$db->disconnect();
?>

これを実行すると、Fatal error: Call to undefined function: query()と
おこられます。

ちなみにこれをmssql_connectで行うと

<?php

$db = mssql_connect('MSSQL', 'user', 'pass');
mssql_select_db('sampledb', $db);

$sql = "select * from sample";
$rs = mssql_query($sql, $db);
while($row = mssql_fetch_array($rs)) {
    echo "$row[1]\n";
}
mssql_close($db);
?>

うまく実行されます。freetdsのinterfacesには以下のように定義をしています。

MSSQL
    query tcp ether NTServer 1433
    master tcp ether NTServer 1433

DB/mssql.phpも見てみたのですが結局mssql_connectを呼んでいるだけなので
同じように見えます。DSNの記述方法がミスっているのでしょうか。。。
どなたかアドバイスを頂けると幸いです。
----------------------------------------------------------
まつうら@xdsl  <vfr@ru.xdsl.ne.jp>
pgp public key: http://www.xdsl.ne.jp/ru/vfr/pubkey.asc