【发布时间】:2016-03-17 05:07:44
【问题描述】:
我正在尝试使用 JDBC 连接(我正在使用 DB2 数据库)导出数据,但它失败并出现以下错误:
原因:com.ibm.db2.jcc.c.SqlException: DB2 SQL 错误:SQLCODE: -3001, SQLSTATE: , SQLERRMC: sqlofopn -2029060079
我使用的查询:
call admin_cmd('EXPORT TO /home/user/test_1/db_extract.csv OF DEL MODIFIED BY NOCHARDEL SELECT * from mytable 仅获取前 5 行');
我还授予了 755 对 test_1 文件夹的访问权限。 我也尝试删除 admin_cmd 但收到 BEGIN OF STATEMENT 错误
还尝试使用 putty 进行相同的查询,但运气不好,我得到了这个错误:
SQL3001C 发生 I/O 错误(原因 =“sqlofopn -2029060079”) 在打开输出文件时。
【问题讨论】:
-
1.您意识到这会将文件写入数据库服务器上的目录,对吧?
-
2.该目录必须可由实例的受保护用户写入。 755 表示只有目录的所有者才有写权限。
-
我尝试将 777 也给文件夹,仍然是同样的问题。但是当我删除 admin_cmd 时,它会在我直接从实例运行查询但它不能从 JDBC 连接运行时工作。
-
您能否通过调用 admin_cmd 过程从 DB2 CLP 运行本机 EXPORT 命令和 EXPORT 命令?另外 - 这是一个通过 JDBC 或类似 Data Studio 调用 admin_cmd 的本土应用程序吗?
-
@proksch_ibm 我尝试使用 admin_cmd 运行,它给出了错误但没有 admin_cmd 它可以工作。它只是一个简单的 Java 应用程序。