簡體   English   中英

如何使用PHP連接到遠程Oracle 11g數據庫

[英]How to connect to a remote Oracle 11g database using PHP

我試圖通過遵循這些指示使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服務器連接到這個數據庫。 我也有Java應用程序從這個Ubuntu服務器連接到遠程Oracle數據庫沒有任何問題。

我錯過了什么使PHP工作?

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

仔細看看oci_connect

並嘗試使用此連接字符串: "123.123.123.123:1521/foo"

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

希望能幫助到你。

你可以嘗試這樣的事情:

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數據庫的方式。

希望這對你有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM