【问题标题】:Creating Table in AWS Redshift with AWS Java SDK使用 AWS Java 开发工具包在 AWS Redshift 中创建表
【发布时间】:2018-05-20 23:15:32
【问题描述】:

我正在尝试使用 java SDK 在 AWS redshift 中创建一个临时表。

 // Redshift JDBC 4.1 driver: com.amazon.redshift.jdbc41.Driver
 String command = "CREATE TABLE test (FirstName varchar(255));"
 Class.forName("com.amazon.redshift.jdbc41.Driver");
 conn = DriverManager.getConnection(dbURL, props);
 stmt = conn.createStatement();
 ResultSet rs = stmt.executeQuery(command);

运行此代码时,表创建成功,但返回时抛出错误

com.amazon.dsi.dataengine.impl.DSISimpleRowCountResult cannot be cast to com.amazon.dsi.dataengine.interfaces.IResultSet

如果我使用返回某些内容的命令,一切都会正常工作,例如

"Select * FROM test;" 
"SELECT * FROM test LIMIT 0;"

我没有在 AWS README 或其他有关此问题的堆栈溢出问题中看到有关此问题的任何文档。在我看来,驱动程序中有一个特殊的类,用于当无法转换为 ResultSet 类的语句没有返回任何内容时。

redshift 驱动版本是 1.1.13.1013 。

任何帮助将不胜感激!

【问题讨论】:

    标签: java amazon-web-services amazon-redshift


    【解决方案1】:

    我遇到了同样的问题。您可以轻松解决此问题。而不是

    stmt.executeQuery(command);
    

    请尝试

    stmt.execute(command);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-04
      • 2017-09-17
      • 2012-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多