Python连接Trino时cursor.commit()提交操作无效果问题求助
问题:Python操作Trino执行DDL无效果(无报错无结果)
我可以通过Python从Trino拉取数据并进行处理,但尝试将处理后的数据上传至新表时,提交操作无任何效果。在DBeaver中可正常执行该表的DROP/CREATE操作,但使用Python执行简单的DROP TABLE操作时,既无报错也无提交结果。
可正常运行的查询代码
# 导入所需包 from trino.dbapi import connect from trino.auth import BasicAuthentication import pandas as pd # 建立Trino连接 trino_conn=connect( host='hostname.example.com', port=8443, user='user', catalog='system', schema='runtime', http_scheme='https', auth=BasicAuthentication("username", "password"), ) trino_conn._http_session.verify = False cursor = trino_conn.cursor() query = """ SELECT * FROM db.schema.sample_table """ cursor.execute(query) rows = cursor.fetchall() columns = [col[0] for col in cursor.description] dataframe = pd.DataFrame(rows, columns=columns)
无法执行删除操作的代码
在DBeaver中成功创建表sample_table_II后,以下Python代码无法删除该表:
# 导入所需包 from trino.dbapi import connect from trino.auth import BasicAuthentication # 建立Trino连接 trino_conn=connect( host='hostname.example.com', port=8443, user='user', catalog='system', schema='runtime', http_scheme='https', auth=BasicAuthentication("username", "password"), ) trino_conn._http_session.verify = False cursor = trino_conn.cursor() cursor.execute("DROP TABLE db.schema.sample_table_II") trino_conn.commit()
补充说明
我使用Teradata时,cursor.commit()可正常工作,示例代码如下:
import teradatasql teradata_conn = teradatasql.connect(host='hostname.example.com', user='XXXXXXXXXX', password='XXXXXXXXXX') cursor = teradata_conn.cursor()
内容的提问来源于stack exchange,提问作者becs
相关产品推荐
相关产品推荐

