0

我正在使用 DashDB(Bluemix 服务),我需要在我的 Java 代码中导出表数据。为此,我写了以下...

        String sql = "CALL SYSPROC.ADMIN_CMD(?)";
        callStmt1 = conn.prepareCall(sql);
        query = "export to exportData.IXF of IXF select * from nombres";
        callStmt1.setString(1, query);          
        callStmt1.execute();      
        rs1 = callStmt1.getResultSet();

但它不起作用。未生成文件 exportData.ixf,但我没有收到任何错误代码。我曾经在 DB2 上执行此代码。你知道是否可以用 DashDB 做我正在做的事情?如果答案是肯定的。你有什么建议吗?谢谢!!!

4

2 回答 2

2

EXPORT 命令在 dashDB 中运行,并将文件导出到 dashDB 服务器的本地目录。因此,如果您想使用 EXPORT,您需要一个额外的步骤来下载文件。一种方法是在此处使用 REST API:https ://developer.ibm.com/clouddataservices/wp-content/themes/projectnext-clouddata/dashDB/ (GET 调用 /home/... 端点)。另一种方法是使用 CLPPlus IDA 命令:https ://www.ibm.com/support/knowledgecenter/SS6NHC/com.ibm.swg.im.dashdb.clpplus.doc/doc/r0061925.html

于 2016-08-24T14:01:08.603 回答
1

这是我成功验证的更具体的程序:

  1. /rscript使用端点在您的用户主目录中创建一个可写目录:

    curl --user "<user>:<password>" -H "Content-Type: application/json" -d "{\"rScript\" : \"system('mkdir files;chmod 777 files')\"}" -X POST "https://<server>:8443/dashdb-api/rscript"

  2. 使用合格的输出目录运行EXPORT命令(例如在 clpplus 中):

    export to /mnt/blumeta0/home/<user>/files/out.del of del select * from <your table>;

  3. 下载输出文件:

    curl --user "<user>:<password>" -X GET "https://<server>:8443/dashdb-api/home/files/out.del"

于 2016-12-20T15:58:51.377 回答