Re: DB_DataObject - MSSQL/Windows SBS

From: Date: Sun, 11 Jul 2004 00:05:05 +0000
Subject: Re: DB_DataObject - MSSQL/Windows SBS
References: 1 2  Groups: php.pear.general 
Request: Send a blank email to pear-general+get-13622@lists.php.net to get a copy of this message
On Sun, 2004-07-11 at 05:25, Justin Patrin wrote: Hi Justin, > Well, perhaps you should create the table classes on the linux box and > copy them to the windows server, then. There should be no difference > if it's the same DB. Yeh, I thought of that as well. In fact the first tim eI tried them I did exactly that, bu then the $dbo->find() died, so I tried re-create them on the Windoze box, unsuccessfully. > > Your problem may be in the versions of the PEAR packages you have > installed. Have you updated them on the windows server? I installed the pear packages on the windows machine this week, I'll check them version numbers, but I'm pretty sure they are the latest available. Thanks for your suggestions. Barry > > On Sat, 10 Jul 2004 18:49:09 +1000 (EST), Barry Steele > <barry@hpfm.com.au> wrote: > > Hi, > > I am in the process of installing an application on a new sever which is > > running Windows Small Business Server 2003, with Apache 1.3, php4.3.7 > > > > I am having a severe issue with the following code: > > > > <db.ini> > > [DB_DataObject] > > database = "odbc://username:password/SLSV_Members"; > > schema_location = /www/sites/slsa/SLSA_Members/include/DataObjects/ > > class_location = /www/sites/slsa/SLSA_Members/include/DataObjects/ > > require_prefix = /www/sites/slsa/SLSA_Members/include/DataObjects/ > > ini_membership = > > /www/sites/slsa/SLSA_Members/include/DataObjects/SLSV_Members.ini > > class_prefix = DataObject_ > > ignore_sequence_keys = 0 > > debug = 0 > > debug_ignore_updates = 0 > > production = 0 > > </db.ini> > > > > <dbtest.php> > > require_once "config.php"; > > require_once "DataObjects/Members.php"; > > $member = new DataObject_Members; > > > > echo "Now try using DB_DataObject<br>"; > > $member->debugLevel(1); > > $member->MemberID= '1112944'; > > //$transfers=$member->find(true); > > Var_Dump::display($member); > > echo "About to fetch DataObject<br>"; > > $member->find(true); > > echo "Finished fetching<br>"; > > </dbtest.php> > > > > I get the following output: > > > > <output> > > About to fetch DataObject > > dataobject_members: __find: 1 > > </output> > > > > -- and there it dies. > > > > I built the DataObjects/Members.php file on a linux box, accessing data in > > MSSQL on the new server. > > > > If I try to use 'createTables.php' > > > > I get the following message : > > > > C:\PHP\PEAR\DB\DataObject>c:\php\php createTables.php > > e:\www\sites\slsa\SLSA_Mem > > bers\include\Membership.ini > > Content-type: text/html > > X-Powered-By: PHP/4.3.7 > > Set-Cookie: ZDEDebuggerPresent=php,phtml,php3 > > > > <code><B>db_dataobject_generator: 0:</B> CREATING FOR 0 > > </code><BR> > > [db_error: message="DB Error: DB backend not capable" code=-9 mode=return > > level= > > notice prefix="" info=""] > > C:\PHP\PEAR\DB\DataObject> > > > > -- Which is very surprising when I was able to build them on the Linux box. > > > > I tried a similar thing using the mssql driver and got a collations/ntext > > error. > > > > The following code works as epxected: > > > > <code> > > DSN= "mssql://hpfm:hpfm@localhost/SLSV_Members"; > > echo "Connecting to ".$DSN; > > $db =& DB::connect($DSN); > > if (DB::isError($db)) > > { > > /* > > * This is not what you would really want to do in > > * your program. It merely demonstrates what kinds > > * of data you can get back from error objects. > > */ > > echo 'Standard Message: ' . $db->getMessage() . "<br>"; > > echo 'Standard Code: ' . $db->getCode() . "<br>"; > > echo 'DBMS/User Message: ' . $db->getUserInfo() . "<br>"; > > echo 'DBMS/Debug Message: ' . $db->getDebugInfo() . > > "<br>"; > > exit; > > } > > else > > echo "Yahoo!! <br>"; > > > > echo "Starting DB Tests: find some members<br>"; > > echo "Use PEAR DB first<br>"; > > $qry= "select * from Members where MemberID='1112944'"; > > $memberResult=$db->query($qry); > > if (DB::isError($memberResult)) > > { > > /* > > * This is not what you would really want to do in > > * your program. It merely demonstrates what kinds > > * of data you can get back from error objects. > > */ > > echo 'Standard Message: ' . $memberResult->getMessage() . > > "<br>"; > > echo 'Standard Code: ' . $memberResult->getCode() . > > "<br>"; > > echo 'DBMS/User Message: ' . $memberResult->getUserInfo() . > > "<br>"; > > echo 'DBMS/Debug Message: ' . $memberResult->getDebugInfo() . > > "<br>"; > > exit; > > } > > else > > { > > $row = $memberResult->fetchRow(DB_FETCHMODE_ASSOC); > > Var_Dump::display($row); > > } > > > > </code> > > > > Can anyone explain what is going on and how to get around it? This is > > costing an inordinate amont of time at present. > > > > If I run the above code from a Linux box, accessing the same sqlserver > > database, it works! > > > > -- > > Barry Steele > > www.hpfm.com.au > > Mob: +61 413 947980 > > > > -- > > PEAR General Mailing List (http://pear.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > !DSPAM:40efb065194688967251321! > > > > Barry Steele hpfm solutions pty ltd mob: 0413947980 fax: 0299817727 mailto:: barry@hpfm.com.au

« previous php.pear.general (#13622) next »