【发布时间】:2011-01-05 04:41:52
【问题描述】:
我正在编写一个连接到 Oracle 11g 数据库并使用 c3p0 连接池的 Java JDBC 数据库应用程序。出于示例的目的,我有 3 个数据库用户 DEFAULT、TOM 和 BILL。 c3p0 使用 DEFAULT 数据库用户打开所有池连接。我想从 c3p0 中检索一个池连接并将连接的用户更改为 BILL 而不是 DEFAULT。是否可以在不与数据库建立新连接的情况下在 JDBC 中执行此操作?
我已经尝试过以下操作:
connect BILL/password;
但这不起作用。我收到一个错误提示
java.sql.SQLException: ORA-00900: invalid SQL statement
还有其他选择吗?是否与上下文设置或切换有关,可以促进我正在尝试做的事情?
谢谢!
【问题讨论】:
-
@jtbradle 你能澄清你的用例吗?这是针对客户端/服务器应用程序的吗?
-
是的,这是针对客户端/服务器应用程序的。它适用于 Web 应用程序,其中每个 Web 应用程序的用户都有一个单独的数据库帐户。此 Web 应用程序以前使用单点登录进行操作,但出于安全原因,我们正在摆脱这种模式并转向多点登录解决方案。因此,这就是我的连接池问题出现的地方。
-
嗯...我很困惑。 C/S 还是 Web 应用程序?
-
对不起...网络应用程序。
标签: java jdbc oracle11g ora-00900