使用SQLAlchemy结合pandas.to_sql向Teradata写入数据时遇到权限与连接参数问题求助
使用SQLAlchemy结合pandas.to_sql向Teradata写入数据时遇到权限与连接参数问题求助
我尝试用SQLAlchemy通过pandas.to_sql方法把pandas DataFrame的数据加载到Teradata数据库表中,代码如下:
import sqlalchemy as sa username = "my_username" password = "my_password" hostname = "hostname" database = "database" table_name = "database.table" teradata_engine = sa.create_engine(f"teradatasql://{hostname}/?user={username}&password={password}") df.to_sql(name=table_name, con=teradata_engine, if_exists='append', index=False)
执行pandas.to_sql时出现了以下错误:
sqlalchemy.exc.OperationalError: (teradatasql.OperationalError) [Version 20.0.0.20] [Session 23332535] [Teradata Database] [Error 3524] The user does not have CREATE TABLE access to database my_username.
我能找到的相关建议提到:
你可以通过使用其他用户或者定义"--TargetWorkingDatabase"参数来解决这个问题。
因为我用的是Python,我理解这个参数对应的是连接参数里的database,于是我修改了连接引擎的代码:
teradata_engine = sa.create_engine(f"teradatasql://{hostname}/?user={username}&password={password}?database={database}")
但修改后又出现了用户名或密码错误,移除database参数后这个错误就消失了:
sqlalchemy.exc.OperationalError: (teradatasql.OperationalError) [Version 20.0.0.20] [Session 23330616] [Teradata Database] [Error 8017] The UserId, Password or Account is invalid.
我想知道还有什么其他解决方法,非常感谢任何建议。
备注:内容来源于stack exchange,提问作者excelman
相关产品推荐
相关产品推荐

