RE: [PHP-DB] Re: oci8 cannot connect after restarting DB

2004-11-18 Thread Andreas Karajannis
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

2002-05-06 Thread Andreas Karajannis

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

2001-10-02 Thread Andreas Karajannis

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

2001-02-01 Thread Andreas Karajannis

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

2001-01-24 Thread Andreas Karajannis

[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)

2001-01-12 Thread Andreas Karajannis


 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]