1.在sql*plus下已由sys 账号 将sysdba 权限赋值给 system;
2.在sql*plus 和em管理器下都可以创建和修改数据库
3.在spring 配置dataSource
代码如下:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"> </property>
<property name="url" value="jdbc:oracle:thin:@202.114.23.65:1521:EMSDB"> </property>
<property name="username" value="system"> </property>
<property name="password" value="seven"> </property>
<property name="maxActive" value="100"> </property>
<property name="maxIdle" value="30"> </property>
<property name="maxWait" value="50"> </property>
</bean>
测试代码如下:
BasicDataSource ds = (BasicDataSource)ctx.getBean("dataSource");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
stmt.execute("delete from SYS.MES_MAINTENANCE_PLAN"); 错误信息:
exception in thread "main" java.sql.SQLException: ORA-01031: 权限不足 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:742)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:206)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:945)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1159)
at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1678)
at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1644)
at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
at test.MaintenancePlanDaoImplTest.main(MaintenancePlanDaoImplTest.java:47)
大家帮帮忙呀!
谢谢各位啦
2.在sql*plus 和em管理器下都可以创建和修改数据库
3.在spring 配置dataSource
代码如下:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"> </property>
<property name="url" value="jdbc:oracle:thin:@202.114.23.65:1521:EMSDB"> </property>
<property name="username" value="system"> </property>
<property name="password" value="seven"> </property>
<property name="maxActive" value="100"> </property>
<property name="maxIdle" value="30"> </property>
<property name="maxWait" value="50"> </property>
</bean>
测试代码如下:
BasicDataSource ds = (BasicDataSource)ctx.getBean("dataSource");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
stmt.execute("delete from SYS.MES_MAINTENANCE_PLAN"); 错误信息:
exception in thread "main" java.sql.SQLException: ORA-01031: 权限不足 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:742)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:206)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:945)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1159)
at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1678)
at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1644)
at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
at test.MaintenancePlanDaoImplTest.main(MaintenancePlanDaoImplTest.java:47)
大家帮帮忙呀!
谢谢各位啦
system虽然是sysdba,但不是sys下表的owner,先用sys以sysdba登陆,然后grant delete on sys.MES_MAINTENANCE_PLAN to system谢谢啦,以后多多指教!