gpt4 book ai didi

java - Oracle 11g Express Java JDBC;数据库工作区

转载 作者:行者123 更新时间:2023-12-02 05:52:56 24 4
gpt4 key购买 nike

我在访问数据库所在的 Oracle 11g Express Workspace 时遇到一些困难。

我可以通过 Class.forName("jdbc.oracle.driver.OracleDriver") 注册我的 JDBC 驱动程序,并通过 Connection con 成功连接= DriverManager.getConnection("jdbc:oracle:thin:"+ 用户名 + "/"+ 密码 + "@localhost:1521:xe") 但无法进入包含我创建的数据库的工作区。

任何通过Statement smt = Connection.createStatement()创建数据库的尝试都会产生java.lang.UnsupportedOperationException

我什至不确定我是否连接到了正确的地方。我知道当我查看 Oracle Database 11.2 XE 参数时,它会将 db_name 列为 xe,我可以通过 sys as sysdba 连接到它并使用我为 Oracle 11g Express 数据库建立的密码,但当我创建数据库并使用 ddl 和 dml 语句填充它时,我无法进入工作区.

也许我现在根本不知道该怎么做,因为我是 JDBC 新手。我检查了 TNSNAMES.ORA 文件,确实有一个代表我的 Oracle 11g Express 的 XE 条目以及代表 Oracle 中的数据库的其他条目。我想我只是不知道该怎么做才能访问我创建的 XE 数据库。

我用来执行SQL语句的代码如下:

    Statement smt = null;


try {
smt = connection.createStatement();

String command = "CREATE table x(y varchar(2))";

smt.executeLargeUpdate(command);

} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println(e.getMessage() + e.getCause());
}

最佳答案

要访问工作区中的对象,您必须编写 SQL 语句,并使用工作区名称(例如“workspacename.objectname”)指定对象名称。

例如

如果您已创建工作区并将其命名为“XESPACE”,并在工作区中创建了一个表“STUDENT”,则要从 JDBC 访问 STUDENT 表,请按照以下代码操作。

第 1 步: 将 JDBC 驱动程序注册为 Class.forName("oracle.jdbc.driver.OracleDriver")

第 2 步: 使用 DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE",
            "Username", "Password 打开连接”)

其中 127.0.0.1 代表 localhost。

第 3 步: 现在要访问工作区中的表,请编写如下 SQL 查询
从 XESPACE.STUDENT 中选择 *

关于java - Oracle 11g Express Java JDBC;数据库工作区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23375923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com