如何使用PHP连接到远程Oracle 11g数据库

时间:2013-06-13 20:16:25

标签: php oracle ubuntu

我试图通过关注these directionsoci_connect工作,但我仍然收到错误:

  

ora-24408无法在test.php中生成唯一的服务器组名称

这是我的PHP代码段(伪造IP):

   $tns2 = "(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 123.123.123.123)(PORT = 1521)) (CONNECT_DATA = (SID = foo)))";
   if ($conn = oci_connect("username","pwd", $tns2))
   {
       echo "Connected to foo";
       oci_close($conn);
   }
   else
   {
       die("could not connect to foo");
   }

我使用SQL Developer,可以从这个Ubuntu服务器上很好地连接到这个数据库。我还有Java应用程序,可以毫无问题地从这个Ubuntu服务器连接到远程Oracle数据库。

我错过了什么使PHP工作?

我甚至做了phpinfo(),它显示了oci8信息。

2 个答案:

答案 0 :(得分:6)

仔细查看oci_connect

尝试使用此连接字符串:"123.123.123.123:1521/foo"

$conn = oci_connect("username","pwd", "123.123.123.123:1521/foo");

希望它有所帮助。

答案 1 :(得分:0)

您可以尝试这样的事情:

define ('DB_USER','username');
define ('DB_PASS','pwd');
define ('DB_HOST', '123.123.123.123');
define ('DB_NAME', 'YOUR_DATABASE_NAME');
define ('CONST_DB_CHARSET_FOR_CONNECT','WE8ISO8859P15');
define ('DB_CONNECTION_STRING','\\123.123.123.123/DBSCHEMA');//in localhost use ''


$conexion = oci_connect(DB_USER, DB_PASS,DB_CONNECTION_STRING,CONST_DB_CHARSET_FOR_CONNECT);

只需输入正确的值:YOUR_DATABASE_NAME 这就是我连接到远程oracle 11.g数据库的方式。

希望这会对你有所帮助。