It's easy to get confused as to how to specificy your Oracle database connection string, and there's a handy new feature in Oracle 10g that makes this a whole lot easier. So here's a little rundown of the three ways to connect to Oracle databases. You can use the:
- tnsnames.ora file
- Full connection string
- Easy connect string
tnsnames.ora File
The tnsnames.ora file is a client side file that maps an alias used by client programs to a database service. It is used to connect to a non-default database. Here you have to have an entry in the tnsnames.ora file, and reference the alias to that entry in your connection code.
PHP code:
oci_connect($un, $pw, 'MYDB');
tnsnames.ora entry
MYDB = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)
(HOST = mymachine.mydomain)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = MYDB.AU.ORACLE.COM)) )
Full Connection String
The full connection string does not require the use of a tnsnames.ora file. You need to enter the full connection string when you connect to the database in your code.
PHP code:
oci_connect($un, $pw,
'(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=mymachine.mydomain)(PORT=1521))
(CONNECT_DATA=(SERVER=DEDICATED)
(SERVICE_NAME = MYDB)))');
Easy Connect String
This is one Oracle 10g feature that I use daily. As I constantly connect to so many different databases in my day, this has saved me so much time as I don't have to configure anything, just know the machine name and the database alias and I'm off.
The easy connect string does not require the use of a tnsnames.ora file, and is an abbreviated version of the full connection string. you must have the Oracle 10g client-side libraries to use the easy connect string.
PHP code:
oci_connect($un, $pw, '//mymachine.mydomain:port/MYDB');
Comments (5)
Please tell me how to connect the database using php 4.0?..
Posted by kin | July 29, 2008 8:10 PM
Posted on July 29, 2008 20:10
PHP 4 used ora_logon(), which has now been replaced with oci_connect().
A quick google gave me this page, which should help you.
http://www.phpdig.net/ref/rn44re870.html
You might want to read the Underground PHP and Oracle Manual. That includes an Appendix that maps the old to new PHP functions, and lots of useful info.
http://www.oracle.com/technology/tech/php/pdf/underground-php-oracle-manual.pdf
Posted by Alison Holloway | July 30, 2008 9:23 AM
Posted on July 30, 2008 09:23
Have you managed to configure phporacleview to connect to a remote database ?
Posted by Malcolm Bodger | November 22, 2008 3:44 AM
Posted on November 22, 2008 03:44
where can i get a good ebook on php programming with oracle.
Posted by netsky32 | March 24, 2009 5:17 PM
Posted on March 24, 2009 17:17
Hello, Please help me, I need connection oracle with php, I wrote:
$DBConnection=oci_connect(scott, tiger, '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))
(CONNECT_DATA=(SERVER=DEDICATED) (SERVICE_NAME = motion)))');
but, not run
Thanks you
Posted by Rocio Zuniga | March 25, 2009 1:16 AM
Posted on March 25, 2009 01:16