PHP中是否有可用的Oracle代理连接?

时间:2017-07-07 14:26:16

标签: java php oracle

我们正在将现有的Java应用程序转换为PHP。在Java代码中,开发人员作为一个用户连接到数据库,然后使用Java调用函数

((OracleConnection)conn).openProxySession(OracleConnection.PROXYTYPE_USER_NAME, props);

似乎在另一个用户中打开数据库内的代理会话。我对Java的理解是不完整的,但我相信这就是它正在做的事情。 PHP中是否有一个函数可以让我们实现相同的目标?

TIA, 麦克

1 个答案:

答案 0 :(得分:2)

检查Oracle OCI manual,因为PHP Oracle扩展是在OCI中实现的。

SQL> alter user user2 grant connect through user1;

您可以使用SQL * Plus进行测试,这也是用OCI编写的:

sqlplus -l user2[user1]/user2pw@localhost/pdborcl ... SQL> show user USER is "USER1"

所以在PHP OCI8中使用:

$c = oci_connect('user2[user1]', 'user2pw', 'localhost/pdborcl');

有用户评论推荐PDO。 PHP OCI8扩展具有更多功能,并且能够利用更多Oracle功能(语句缓存,DRCP等),因此强烈建议使用OCI8。