我繼續收到錯誤訊息“ProgrammingError: 002003 (42502): SQL compiler error: Object 'Table' does not exist or not authorized。我正在使用以下代碼:
con = snowflake.connector.connect(
user = "user.name",
authenticator="externalbrowser",
warehouse = "ware house name",
database = "db name",
schema = "schema name"
)
cur.con.cursor()
sql = "select * from Table"
cur.execute(sql)
df = cur.fetch_pandas_all()
當我在 Jupyter Notebook 中執行代碼時,瀏覽器視窗會打開并驗證我的憑據,但是當它到達 sql 執行行時,錯誤出現并告訴我該表不存在。當我在瀏覽器中打開 Snowflake 時,我可以看到該表確實存在于我的代碼中的正確倉庫、資料庫和模式中。
有沒有其他人經歷過這種情況?我是否需要授權我的用戶才能通過 Python 和 Jupyter Notebook 訪問此表?對此的任何幫助或建議都會很棒!提前致謝。
uj5u.com熱心網友回復:
您的會話可能沒有分配給它的角色(當前角色)。您可以在連接會話引數串列中添加角色,例如添加如下內容
role = 'RICH_ROLE',
您可能需要考慮為您的用戶設定默認角色。
ALTER USER userNameHere SET DEFAULT_ROLE = 'THE_BEST_ROLE';
檔案鏈接:https : //docs.snowflake.com/en/sql-reference/sql/alter-user.html
此外,當所有其他方法都失敗時,請使用完全限定的表名,請注意,如果未設定角色,這將無濟于事:
sql = "select * from databaseName.schemaName.TableName"
我希望這有助于...豐富
ps 如果這個(或另一個)答案對您有幫助,請花點時間“接受”有幫助的答案,方法是單擊答案旁邊的復選標記,將其從“變灰”切換為“填充”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/325044.html
標籤:Python sql jupyter-笔记本 雪花云数据平台
下一篇:從資料框中繪制散點圖和圖例
