oracle jdbc驱动可以创建数据库吗?

解决方案 »

  1.   

    可以执行任何DDL和DML语句,关键是要有权限
      

  2.   

    楼上的兄弟以前实现过吗?
        private static void createEmsdbDatabase(){
            
            String url = "jdbc:oracle:thin:@localhost:1521:emsdb";
            
            StringBuffer sqlStatement = new StringBuffer();
            
            sqlStatement.append("create database emsdb ");
            
            sqlStatement.append("maxdatafiles 254 ");
            sqlStatement.append("maxinstances 8 ");
            sqlStatement.append("maxlogfiles 32 ");
            sqlStatement.append("character set UTF8 ");
            sqlStatement.append("national character set UTF8 ");
            sqlStatement.append("DATAFILE 'c:\\oracle\\emsdb\\system01.dbf' SIZE 180M REUSE ");
            sqlStatement.append("logfile 'c:\\oracle\\emsdb\\redo01.log' SIZE 2M REUSE, ");
            sqlStatement.append("'c:\\oracle\\emsdb\\redo02.log' SIZE 2M REUSE, ");
            sqlStatement.append("'c:\\oracle\\emsdb\\redo03.log' SIZE 2M REUSE ");
            
            try {
                DriverManager.registerDriver(new OracleDriver());
                
                Properties props = new Properties();
                props.put("user", "sys");
                props.put("password", "vlxpert");
                props.put("internal_logon", "sysdba");
                
                Connection conn = DriverManager.getConnection(url, props);
                
                Statement statement = conn.createStatement();
                
                statement.executeUpdate(sqlStatement.toString());        } catch (SQLException e) {            e.printStackTrace();
            }finally{            
            }
        }
    我怎么老是得不到connection啊,不知道为什么,帮忙看看,总是报java.sql.SQLException: ORA-01033: ORACLE initialization or shutdown in progress错。搞了几天了,没有头绪,由相关经验的,帮帮忙啊,多谢!
      

  3.   

    起来了,我都手动作过测试了,我先在sqlplus中connect /as sydba, 然后oradim -new -sid emsdb -startmode m, then startup nomount -pfile='c:\...\initemsdb.ora' 然后才在java程序中创建数据库的,不知道为什么不行哦
      

  4.   

    实验证明是可以执行的,不过我现在只能用oci驱动去执行,用thin驱动就不能用sysdba用户登陆了,有知道细节的朋友吗?