【问题标题】:Creation of database in Eclipse在 Eclipse 中创建数据库
【发布时间】:2021-04-04 22:46:52
【问题描述】:
                Class.forName("oracle.jdbc.driver.OracleDriver");
                con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","system");
                System.out.println("Connection Established");
                
                System.out.println("Creating Database");
                stmt=con.createStatement();
                String sql="CREATE DATABASE ALAN";
                stmt.executeUpdate(sql);
                System.out.println("Database Created Successfully");

每次无论数据库是否存在,我都会收到此错误:

java.sql.SQLException: ORA-01501: CREATE DATABASE 失败 ORA-01100: 数据库已安装

【问题讨论】:

  • 不是一个直接的答案,但我们可以问一下您为什么要尝试从 Java 代码创建一个数据库?我会说这是一个相当不寻常的要求。考虑直接在 Oracle 数据库上执行 DDL 管道,然后只处理来自 Java 的查询。
  • > "CREATE DATABASE ALAN" 此 DDL 语句是否在您的 SQL 命令提示符下工作?您收到的信息是什么?

标签: java oracle eclipse jdbc


【解决方案1】:

在 Oracle 中,“数据库”是一个物理实例,包括进程、初始化参数文件、重做日志文件和数据文件。它与 MySQL、SQL Server 或大多数其他数据库中的“数据库”含义不同,其中“数据库”与“模式”同义。在 Oracle 中,“用户”和“模式”是同义词。您看到此错误是因为“xe”数据库 已经存在、已安装并正在运行,并且您已连接到它。您不能从连接到正在运行的数据库发出“创建数据库”命令。

有关 Oracle 中“创建数据库”用法的示例,请参见此处:

我怀疑您实际上是在寻找“创建用户”命令,以在数据库中创建一个架构以包含表、索引和视图等对象。

【讨论】:

    猜你喜欢
    • 2014-10-24
    • 2011-10-04
    • 1970-01-01
    • 2018-11-09
    • 2014-04-15
    • 2013-06-09
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多