SQL workbench连接到Redshift时出错

时间:2015-03-23 23:47:55

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

我正在尝试使用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命令时发生错误: CREATE TABLE actual_report( type1 varchar(40), Jj_calendar_Order_Month varchar(40), Jj_Calendar_Order_Year varchar(40), Product_major_Code_descripti ...

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

4 个答案:

答案 0 :(得分:29)

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

SET autocommit ON

答案 1 :(得分:13)

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

Set Autocommit to TRUE in SQL Workbench connection window

答案 2 :(得分:6)

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

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

答案 3 :(得分:0)

我明白了。下面的脚本为我解决了。我刚删除(_)。

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))