【问题标题】:SQL workbench Error while connecting to Redshift连接到 Redshift 时出现 SQL 工作台错误
【发布时间】:2015-05-27 04:02:06
【问题描述】:

我正在尝试使用 sqlwork bench 在 aws redshift 中创建一个表。我可以连接 redshift,但是在执行下面的脚本时,出现连接中止错误。如果有人有任何解决方案,请告诉我。

CREATE  TABLE actual_report (
  type1 varchar(40),
  Jj_calendar_Order_Month varchar(40),
  Jj_Calendar_Order_Year varchar(40),
  Product_major_Code_description varchar(40),
  Product_minor_Code varchar(40),
  Product_part_number varchar(40),
  Product_Minor_Description varchar(40),
  Order_Quantity decimal(20),
  Order_Item_Unit_Price decimal(10,2),
  country varchar(40))

执行 SQL 命令时出错: 创建表实际报告( type1 varchar(40), Jj_calendar_Order_Month varchar(40), Jj_Calendar_Order_Year varchar(40), Product_major_Code_descripti...

亚马逊无效操作:当前事务被中止,命令被忽略,直到事务块结束; 执行时间:0.22s 1 条语句失败。

【问题讨论】:

  • 在语句后添加分号可能有帮助。

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


【解决方案1】:

我明白了。下面的脚本适合我。我刚刚删除了 (_)。

CREATE  TABLE actual_report (
type1 varchar(40),
JjcalendarOrderMonth varchar(40),
JjCalendarOrderYear varchar(40),
ProductmajorCodedescription varchar(40),
ProductminorCode varchar(40),
Productpartnumber varchar(40),
ProductMinorDescription varchar(40),
OrderQuantity decimal(20),
OrderItemUnitPrice decimal(10,2),
country varchar(40))

【讨论】:

  • 但我想知道为什么会出现以下错误。 Amazon](500310) 无效操作:当前事务被中止,命令被忽略,直到事务块结束;
【解决方案2】:

除非您明确启动一个,否则您所做的每个 Redshift 查询都包含在一个事务中:http://docs.aws.amazon.com/redshift/latest/dg/r_BEGIN.html

若要在此问题再次出现时解决此问题,请单独输入ROLLBACK; 并运行它。这应该会使您的连接恢复正常工作。

【讨论】:

    【解决方案3】:

    我使用的是 SQL Workbench,默认情况下自动提交是关闭的。我运行下面的 SQL 命令来开启自动提交,否则事务将不会提交到数据库。仅供参考。

    SET autocommit ON
    

    【讨论】:

    • 是的。您还可以执行ABORT;ROLLBACK 命令。但是自动提交非常有用。
    【解决方案4】:

    在 SQL Workbench 连接窗口中将 Autocommit 设置为 TRUE。见附图:

    【讨论】:

      猜你喜欢
      • 2023-03-14
      • 1970-01-01
      • 2018-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多