[s2container-php5:149] S2DaoPHP5からmssqlで接続が出来ません。

北村 正和 [E-MAIL ADDRESS DELETED]
2009年 10月 30日 (金) 22:56:20 JST


初めまして、kitamura-mと申します。

表題の件について皆様にご助力願いたいと思います。

現在、S2Dao-1.1.2とS2Container-1.2.0でXAMPP 1.6.3aからSQLServerへ
exampleを使った接続を試みていますが、エラーが発生してうまく接続できません。

○エラーメッセージ
C:\eclipse3.4.2\workspace\sample2\s2dao.php5\examples\s2dao>php
cd_select1.php

Catchable fatal error: Argument 3 passed to
S2Dao_BeanMetaDataImpl::__construct() must implement interface S2Dao_Dbms,
null given, call
ed in
C:\eclipse3.4.2\workspace\sample2\s2dao.php5\build\s2dao.php5\S2Dao\S2Dao_Da
oMetaDataImpl.class.php on line 536 and defined in C:
\eclipse3.4.2\workspace\sample2\s2dao.php5\build\s2dao.php5\S2Dao\S2Dao_Bean
MetaDataImpl.class.php on line 45


MySQLで接続することは出来ているのですが、何故SQLServerには接続
出来ないのか、原因を特定できません。

PDO.diconの接続は下記の通りです。
○MySQL
    <component name="dataSource" class="S2Container_PDODataSource">
        <property name="dsn">"mysql:host=localhost;
dbname=sample"</property>
        <property name="user">"root"</property>
        <property name="password">"admin"</property>
        <property name="option">
            array(PDO::ATTR_ORACLE_NULLS => PDO::NULL_EMPTY_STRING);
        </property>
    </component>

○SQLServer
    <component name="dataSource" class="S2Container_PDODataSource">
        <property name="dsn">"mssql:host=<サーバのアドレス名>; dbname=<サー
バーのデータベース名>"</property>
        <property name="user">"<ユーザー名>"</property>
        <property name="password">"<パスワード>"</property>
        <property name="option">
            array(PDO::ATTR_ORACLE_NULLS => PDO::NULL_EMPTY_STRING);
        </property>
    </component>

php_mssql.dllのバージョンは5.2.3.3です。5.2.9.9に変更したり、ntwdblib.dllを
古いバージョンの2000.80.0から新しい2000.80.194.0へ変更もしましたが、
症状は変わりませんでした。

なお、PCの環境は下記の通りです。
OS:WindowsXP SP3
IDE:eclipse3.4.2(pleiades-all-in-one-java)

XAMPP Version 1.6.3a Bundle with:
- Apache 2.2.4
- MySQL 5.0.45
- PHP 5.2.3 + PHP 4.4.7 + PEAR
- PHP 5 to 4 Switch 1.0
- XAMPP Control Version 2.5 from www.nat32.com
- XAMPP Security 1.0
- SQLite 2.8.15
- OpenSSL 0.9.8e
- phpMyAdmin 2.10.3
- ADOdb 4.94
- Mercury Mail Transport System v4.01b
- FileZilla FTP Server 0.9.23
- Webalizer 2.01-10
- Zend Optimizer 3.3.0
- eAccelerator 0.9.5.1 fur PHP 5.2.3

以上です。
何とご協力のほど、よろしくお願いします。




S2Container-PHP5 メーリングリストの案内