3

我已尝试oci_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 服务器很好地连接到这个数据库。我也有从这个 Ubuntu 服务器连接到远程 Oracle 数据库的 Java 应用程序,没有任何问题。

为了使 PHP 工作,我缺少什么?

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

4

2 回答 2

6

仔细查看oci_connect

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

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

希望能帮助到你。

于 2013-06-13T20:23:36.250 回答
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 数据库的方式。

希望这对您有所帮助。

于 2013-06-13T20:26:08.280 回答