2017-07-14 96 views
0

我是这个论坛的新手,但我是这个论坛的狂热用户。我不能够从Redshift中的SQL Workbench创建表,而我可以使用Jupyter中的Python创建表格

我想在Redshift中创建特定模式的表,但无法从SQL Workbench中创建表,但同时如果从Python发送相同的查询,同一个表正在更新。

有人能帮助我吗?

的SQL代码给出如下: -

CREATE TABLE架构name.table名称 ( 浮子(53), b FLOAT(53) );

Python的代码如下: -

df = pd.DataFrame(np.random.randn(10,5),columns=['a','b','c','d','e']) 
print(df) 

ONN_STR = "postgresql+psycopg2://redshift URL" 
red_engine =create_engine(CONN_STR) 


df.to_redshift(table_name="table_name", schema ='schema_name',     #engine=red_engine,s3_bucket="",s3_keypath="",     if_exists='replace',index=False) 

请指引我在哪里,我在SQL工作台做错了什么?

+0

你能提供有关您在SQL工作台,例如运行create语句会发生什么的更多细节有没有错误信息? – Nathan

+0

是的,只要我试图通过SQL Workbench创建一个表,我越来越 - 错误:拒绝模式rsds_gpa 1声明失败。但同样的操作正在通过我的Python代码执行。 – Sohail

+0

这对我来说似乎是一个非常明显的错误 - 听起来您没有像在Python中那样与SQL Workbench中的同一用户连接,并且SQL Workbench用户没有足够的权限在指定模式中创建表。 – Nathan

回答

-1

使用下面的代码中的最后一条语句:

df.to_sql("table_name", connectionname, index=False ,if_exists="replace") 
+0

问题是关于为什么SQL Workbench *中的查询*不起作用。 python代码显然工作正常。 – Nathan

+0

是的你是对的@Nathan – Sohail

+0

SQL Workbench/J ..连接有模式(数据库)与它关联。所以我们不能看到除默认外的其他模式表。 – Kishor

相关问题