我正在尝试使用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
连接con1 = DriverManager.getConnection(" url"," uname"," passwd"); PreparedStatement pstmt = con1.prepareStatement("插入SCHEMA_NAME.TABLE_NAME(列)值(?,?,?,?,?,?,?,?)");
//迭代上面填充的arraylist的代码
pstmt.setint etc
pstmt.executeUpdate();
在executeUpdate语句之后失败。
答案 0 :(得分:0)
是的,问题在于pstmt.setClob字段。我将它改为pstmt.setString并使用clob对象的.toString()并且它有效。
我仍然困惑为什么它会抛出表或查看不存在的错误。