gpt4 book ai didi

python - vertica/sqlalchemy - 模式公共(public)权限被拒绝

转载 作者:行者123 更新时间:2023-12-01 04:41:54 25 4
gpt4 key购买 nike

我能够按如下方式生成引擎:

import pandas as pd
import sqlalchemy as sa
url = sa.url.URL(drivername='vertica+pyodbc',
username='username',
password='****',
host='vertica')
engine = sa.create_engine(url)

我可以读取数据,例如

pd.read_sql_query("SELECT * FROM my_schema.tablename", engine)

但是当我尝试写入数据时:

import numpy as np
df = pd.DataFrame(np.random.randn(10, 5))
df.to_sql("my_schema.random_table", engine)

我收到错误

公共(public)架构的权限被拒绝\n (4367) (SQLExecDirectW)') u'\nCREATE TABLE "my_schema.random_table"

我认为问题在于“my_schema.random_table”被引号括起来,使 Vertica 认为我想在基本(公共(public))模式而不是 my_schema 中创建此表。有没有办法可以在 ODBC url 中指定我想要的架构?

最佳答案

pandas.DataFrame.to_sql有一个 schema 参数。尝试使用它而不是将架构指定为表名称的前缀。

df.to_sql('random_table', engine, schema='my_schema')

关于python - vertica/sqlalchemy - 模式公共(public)权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30470619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com