2017-07-14 20 views
0

私はこのフォーラムには初めてですが、私はこのフォーラムの熱心なユーザーです。私はRedshiftでSQL Workbenchからテーブルを作成できませんが、JupyterからPythonを使用してテーブルを作成することはできます

Redshiftでは特定のスキーマでテーブルを作成したいが、SQL Workbenchではこれを行うことはできないが、同時にPythonから同じクエリを送信しても同じテーブルが更新されている。

誰でも私を助けることができますか?

SQLコードを以下に示す: -

( Bフロート(53)を FLOAT(53))は、テーブルスキーマname.table名 を作成します。ザ・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 Workbenchで間違ってやっているところに私を案内してください?

+0

あなたは、例えば、あなたはSQL Workbenchで作成ステートメントを実行したときに何が起こるかについていくつかの詳細を提供することができますエラーメッセージはありますか? – 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

関連する問題