【问题标题】:DashDB - Export data using JavaDashDB - 使用 Java 导出数据
【发布时间】:2016-08-23 17:48:57
【问题描述】:

我正在使用 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 做我正在做的事情? 如果答案是肯定的。你有什么建议吗? 谢谢!!!

【问题讨论】:

  • 您是在 DB2 上本地执行的吗?如果您有权限,您是 dashDB 的远程用户,并且文件通常是在服务器上创建的。
  • 我也使用 CLPPlus 执行了该操作,但我找不到结果文件所在的位置。命令是:export to myfile.ixf of ixf select * from NOMBRES 和结果: 导出的总行数:5 - 命令成功完成。但我无法找到文件 myfile.ixf。我找不到它的创建位置。
  • CLPPlus 也可以远程连接到服务器。导出始终在服务器上

标签: export ibm-cloud dashdb


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    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"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-07
      • 1970-01-01
      • 2013-04-28
      • 1970-01-01
      • 2012-10-20
      • 2016-08-26
      • 2019-02-11
      相关资源
      最近更新 更多