Re: PHP+Oracle: could not resolve service name

From: Michael Austin <>
Date: Wed, 09 Apr 2008 16:13:00 -0500
Message-ID: <ShaLj.2411$>

Álvaro G. Vicario wrote:
> I'm developing a PHP 4 application in a Windows Server 2003 box. I'm
> connecting to a remote Oracle 10g server using ODBC (with a system-wide
> DSN). I didn't install any of the software and my Oracle experience doesn't
> got further than writing queries ;-)
> My issue is that PHP scripts cannot connect to the database server when I
> run them from the *command line*. I get this error message:
> SQL error: [Microsoft][ODBC driver for Oracle][Oracle]ORA-12154: TNS:no
> se ha podido resolver el nombre del servicio, SQL state 08001 in SQLConnect
> Which translates into English as "could not resolve service name".
> The *very same code* runs fine when parsed through the web server (Apache2 +
> PHP module running as LocalSystem) and I've found no problems using TOAD.
> Apart from environment, PHP configuration is identical in command line and
> web.
> After some Googling I've tried setting TNS_ADMIN and ORACLE_HOME
> environmental variables but it didn't make any difference. I just can't
> understand why all programs can connect except command line PHP. Do you have
> any clue?
> Sample code:
> <?php
> define('DB_DSN', 'FOO');
> define('DB_USERNAME', 'FOO');
> define('DB_PASSWORD', 'FOO');
> ?>

you still need to add an entry in your tnsnames.ora file (generally located in the oracle home under network\admin.

A google search will give you many examples of how to create a tnsnames entry. Received on Wed Apr 09 2008 - 16:13:00 CDT

Original text of this message