Hi Ari, I am not a PHP person, but have some oracle background. So I'll try to help! the ORA-12154 error is (according to my oracle docs) actually a TNS error. Here is what it means (from my Reveal Net doc):
TNS-12154 TNS:could not resolve service name
Cause: The service name specified is not defined correctly in the TNSNAMES.ORA file.
Action: Make the following checks and correct the error:
Verify that a TNSNAMES.ORA file exists and is in the proper place and accessible. See the operating system specific manual for details on the required name and location.
Check to see that the service name exists in one of the TNSNAMES.ORA files and add it if necessary.
Make sure there are no syntax errors anywhere in the file. Particularly look for unmatched parentheses or stray characters. Any error in a TNSNAMES.ORA file makes it unusable. See the SQL*Net V2 Administrator's Guide. If possible, regenerate the configuration files using the Oracle Network Manager.
I am guessing this was caused because when you connect to a remote database, you need to use tns and that means you need to give the 3rd param to that call, which is the service name used to lookup in the tnsnames.ora file.
Here is the info on the 3121 error:
===================================================
ORA-03121 no interface driver connected - function not performed
Cause: This message occurs usually because the Net8 driver is not loaded into memory or there is a mismatch of the version of the driver. A user program linked with an obsolete library may also cause this message. Only programs provided by Oracle Corporation should use this interface.
Action: If the message occurred during use of a program provided by Oracle Corporation, contact customer support. If a user program caused the message, relink the program with current versions of the Oracle libraries.
Although tat is from a later version of oracle, it should be the same issue.
I would make sure that you are running the same version of the oracle libraries on your php box as on your database server. These are on the oracle installation disk.
Hope that helps! Let me know, I'm curious!
-- Karen