Oracle Database Connection Strings in PHP
By Alison Holloway on Apr 20, 2006
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
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.
oci_connect($un, $pw, 'MYDB');
MYDB = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)
(HOST = mymachine.mydomain)(PORT = 1521))
(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.
(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.
oci_connect($un, $pw, '//mymachine.mydomain:port/MYDB');