Chinaunix

标题: java jdbc 调 dump .. to .. 出错 [打印本页]

作者: yld134    时间: 2011-03-16 12:55
标题: java jdbc 调 dump .. to .. 出错
我在isql中运行正确的一句 dump语句 用java 调用就出错。
java 调其他的 都没有问题

如:returncode = stmt.execute("DUMP DATABASE databasename TO 'compress::1::/home/dir/test/xxx_pre.a'";
returncode 无法得到  直接抛出异常
java.sql.SQLException: Backup Server: 4.132.1.1: Attempting to open byte stream device: 'compress::1::/home/dir/test/xxx_pre.a::00'
        at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:36
        at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2820)
        at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:225
        at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:637)
        at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:584)
        at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546)
        at net.sourceforge.jtds.jdbc.JtdsStatement.executeImpl(JtdsStatement.java:723)
        at net.sourceforge.jtds.jdbc.JtdsStatement.execute(JtdsStatement.java:1160)
        at com.yld.sysbaseJDBC.main(sysbaseJDBC.java:33)

求高人指点
作者: wfcjz    时间: 2011-03-16 13:29
你用的是中间件来调取的吧,是不是你的JDBC的驱动加载错了,能把你的环境描述一下吗?
作者: yld134    时间: 2011-03-16 13:44
真实的出错环境
数据库是装在aix上的  这段dump 语句是 写在一个存储过程中的。
用的是spring框架
通过resultMap = simpleJdbcCall.execute(vo.getInParamsValue());来运行

而上面那一段  是我自己用jdbc写了来运行的

问题的关节是:除了“dump database 。。to 。。”这段sql语句 之外的运行都不会报错

就是说驱动加载 应该是没问题

而且我试过stmt.executeUpdate() 等方式来调用这段  都是抛出异常
但是在服务器上 要备份的那个文件产生了。。。只是不知道 产生的文件对不对。。
作者: Eisen    时间: 2011-03-16 14:19
stmt.executequery和executeUpdate都要有rowcount返回的,而dump产生不了这个东西,怀疑dump应该不能使用Statement来执行,或者这个东西执行了抛出exception也catch住不理就是了。
作者: yld134    时间: 2011-03-17 09:54
谁来帮帮忙啊。。。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2