java7 oracle_用JAVA创建ORACLE用户。 在eclipse中开发。 jdk7,jre7,oracle11g,win7 X64的环境。...

publicclassTest002CreateUser{/**驱动程序在jdbc的jar包中*/publicfinalStringDBDRIVER="oracle.jdbc.driver.OracleDriver";/**连接地址是由各个数据库生产商单独提供的,需要单独记住...

public class Test002CreateUser {

/**驱动程序在jdbc的jar包中*/

public final String DBDRIVER = "oracle.jdbc.driver.OracleDriver";

/**连接地址是由各个数据库生产商单独提供的,需要单独记住*/

public final String DBURL = "jdbc:oracle:thin:@localhost:1521:ORCL";

/**连接数据库的用户名*/

public String DBUSER = "sys as sysdba";

/**连接数据库的密码*/

public String DBPASSWORD = "sys";

/**数据库连接对象*/

public Connection conn;

/**数据库操作对象*/

public Statement stmt;

/**SQL语句*/

public String sql_query;

/**加载数据库驱动程序包*/

public void loadOracleDriver() {

try {

/**使用Class类加载驱动程序*/

Class.forName(DBDRIVER);

} catch (ClassNotFoundException e) {}

}

/**打开到数据库的连接*/

public void openConnect() {

try {

/**连接数据库*/

conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);

} catch (SQLException e) { }

/**进行打印,测试连接对象是否存在*/

System.out.println("连接对象:" + conn);

}

/**创建数据库操作对象*/

public void createStatment() {

try {

/**Statement接口需要通过Connection接口进行实例化操作*/

stmt = conn.createStatement();

} catch (SQLException e) {}

/**进行打印,测试连接对象是否存在*/

System.out.println("操作对象:" +stmt);

}

/**执行SQL语句*/

public void executeSQL() {

sql_query = "CREATE USER rxsj IDENTIFIED BY rxsj;";

try {

/**stmt作为数据库操作对象,执行sql语句*/

stmt.executeQuery(sql_query);

} catch (SQLException e) { }

}

/**关闭与数据库的连接*/

public void closeConnect(){

try {

/**关闭数据库*/

conn.close();

} catch (SQLException e) { }

}

/**测试*/

public void test() {

this.loadOracleDriver();

this.openConnect();

this.createStatment();

this.executeSQL();

this.closeConnect();

}

}

执行test()方法后,提示“stmt.executeQuery(sql_query);”出错

我也尝试过stmt.execute(sql_query)和stmt.executeUpdate(sql_query),但是都一样提示出错。

连接过程是正常的,查询数据也可以,但是却无法创建用户?求指教。

java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395)

at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802)

at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436)

at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)

at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521)

at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:194)

at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:1000)

at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1307)

at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1814)

at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1779)

at oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:277)

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值