RE: [PHP-DB] Re: oci8 cannot connect after restarting DB
On Thu, 2004-11-18 at 11:41 -0700, [EMAIL PROTECTED] wrote: During my presentation at the PHP Conference in Frankfurt I put out a call for participation in creating a roadmap for Oracle connectivity in PHP. When I get back to work (I'm on a short vacation in Europe with intermittent email access) I'll be following up on this. While I'm away, feel free to fill my inbox with suggestions and discussion of your application architecture requirements. I've been recently looking into the OCI8 extension. Alas, with PHP5 and multithreaded web servers (Apache2 et.al.), the connection handling seems to be completly broken. Using PHP5 and the current oci8 module in an mt environment leads to sessions stacking up on a single server connection without getting closed nor reused. I didn't try the classic multi process environment, but I suspect the same broken behaviour to show up. So what you get right now is a non working session multiplexing (ala Oracle MTS) which surely is not what people want when the need connection pooling. Another area where PHP Oracle support needs improvement is national charset support. Currently NCLOBs simply don't work. Additionaly, the LOB handling support is more complex (using implicit LOB descriptors) than it need to be, taking into consideration the LOB handling capabilities introduced with OCI 9.2. Using the new thread safe hash lists of PHP5, I've successfully implemented (let's say proof of concept quality ;-)) an extension based on the current OCI8 code that can use native OCI session pooling (instead of implementing own connection pooling code) and is able to handle national character data while mostly retaining backwards compatability - normal connects are still possible besides predefinded pools. So what to do? While I see great potential in PDO, having a common API as in JDBC or ODBC would be great, it seems there isn't much development going in that direction. Additionaly, every application would need a major rewrite to switch from the current oci8 extension to something different. So, building on the existing OCI8 extension and improving it in the afore mentioned areas seems to a pragmatic approach while retaining PHP API compatability for people already using Oracle with PHP. This would mean dropping support for client libraries before Oracle 9.2, making it possible to throw away much of the convoluted legacy stuff in the connection / LOB handling code. Remember, with OCI client 9.2, you can still connect to 8.1 databases. If there is still demand for connecting to pre 8.1 databases, people would have to stick with PHP4, which seems to me reasonable. Any comments are welcome to better support the greatest RDBMS with PHP ;-) -Andreas -- Andreas Karajannis mediaworx berlin AG Fon (030) 2 75 80 - 266 Fax (030) 2 75 80 - 200 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Oracle vs. MySQL
Sogno Kahlenberg wrote: Anyone tried phpMyAdmin with Oracle with success? Any way to make it work with Oracle, instead of MySQL? Looks like pretty scanty resources there for Oracle ... Tora: http://www.globecom.se/tora/ Oracletool: http://www.oracletool.com/ phpOracleAdmin: http://phporacleadmin.org/ HTH, Andreas -- Andreas Karajannis mediaworx berlin AG Fon (0 30) 2 75 80 - 266 Fax (0 30) 2 75 80 - 200 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] PHP vs. 2 database softwares
Scott Fletcher wrote: Do you meant to say that it took me several days to figure out that PHP doesn't support multiple databases? PHP said it will work with almost any databases but it failed to meant to say that only with one databases, but not multiple databases at the same time. PHP will work with multiple databases, as long as you don't try to use any of the uodbc based flavors together (Solid, Empress ,iODBC, unixODBC, Easysoft OOB, OpenLink, Adabas D, Velocis, DBMaker, SAP DB and IBM DB2). If you need to connect to multiple ODBC databases, use a driver manager such as iODBC or unixODBC and the appropriate ODBC driver. Never mind the problem. I found that PHP won't use both the --with-ibm-db2 option and --with-iobc option, it only can use one of them. As oulined above, instead of using --with-ibm-db2 and --with-iodbc just use --with-iodbc and create a DSN for your DB2 server with iodbc. -Andreas -- Andreas Karajannis mediaworx berlin AG Fon (0 30) 2 75 80 - 266 Fax (0 30) 2 75 80 - 200 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
Re: [PHP-DB] access insert problem
Fredrik Stark wrote: Hi, Im using php4.0.3pl1 on a NT5 with an Access 2000 database. I use the database to store text and numbers. I just realised that the text-field can only store 255 characters so I changed the type from "text" to "memo". And now i get "Syntax Error" when i try to insert a value to the "memo" field... Anyone got a solution? /stark You probably can't pass your value literally. Try using SQL Parameters: ?php $stmt = odbc_prepare($conn, "insert into foo (memocolumn, numbercolumn) values(?,?)"); $parameters[] = "Some long text"; $parameters[] = 123; odbc_execute($stmt,$parameters); ? See also the manual entries for odbc_prepare() / odbc_execute(). -Andreas -- Andreas Karajannis mediaworx berlin AG Fon (0 30) 2 75 80 - 266 Fax (0 30) 2 75 80 - 200 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
Re: [PHP-DB] MS-SQL Error Message Replacement
[EMAIL PROTECTED] wrote: How can I put in my own custom message when these errors occur? Should I be looking for a failed query message and then acting on that? I like the protection that the foreign key relationship enables, because you can't delete "parent" objects without removing the children first. Prepend "@" to the php function call to supress error messages. If your statement fails, you could get the error number via some other mssql call and decide what to do. -Andreas -- Andreas Karajannis mediaworx berlin AG Fon (0 30) 2 75 80 - 266 Fax (0 30) 2 75 80 - 200 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
Re: [PHP-DB] Problem with LONG TEXT fields (ODBC-MS SQL 7)
I have one row, in which long text field takes about 5100 bytes. PHP can't print page with this text, but don't give me any error messages (other texts, 4096, are printed correctly). Printing this row work correctly in ASP. I change config value uodbc.defaultrl from 4096 to 8192, but it don't give any effect. Please make shure that PHP really "sees" your change. You can verify the value that PHP uses by writing a file with just a call to phpinfo(), this prints out a page with the current configuration. -Andreas -- Andreas Karajannis mediaworx berlin AG Fon (0 30) 2 75 80 - 266 Fax (0 30) 2 75 80 - 200 -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]