我试图使用java jdbc从一个数据库表中读取数据,并尝试在同一会话中的不同服务器上插入另一个数据库表 .
我创建了2个连接对象(con,conn1),每个对象指向正确的数据库 . 使用第一个con对象,我能够读取数据但是当它使用conn1将数据写入另一个表时,它会失败并出现错误
ORA-00942-表或视图不存在 .
我还交叉检查了该表是否存在,我们可以写入该表 . 使用独立类和静态数据,我能够写入该表 .
请让我知道我的方法有什么问题 .
代码示例:
public static void main
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection( "URL","uname","passwd");
//从db读取的代码并添加到arraylist . 关闭结果集,con .
此连接obj指向新的数据库和URL
Connection con1 = DriverManager.getConnection(“url”,“uname”,“passwd”); PreparedStatement pstmt = con1.prepareStatement(“插入SCHEMA_NAME.TABLE_NAME(列)值(?,?,?,?,?,?,?,?)”);
//迭代上面填充的arraylist的代码
pstmt.setint etc
pstmt.executeUpdate();
它在executeUpdate语句之后失败 .
1 回答
是的,问题在于pstmt.setClob字段 . 我将它改为pstmt.setString并使用了clob对象的.toString()并且它有效 .
我仍然困惑为什么它抛出表或视图不存在错误 .