gpt4 book ai didi

Python odbc游标: keeping persistent state after executing a query

转载 作者:行者123 更新时间:2023-11-30 23:15:48 25 4
gpt4 key购买 nike

假设我们有 table_1 位于数据库_1 中。

import pyodbc
connection = pyodbc.connect(dsn='hive', autocommit=True)
cursor = connection.cursor()
cursor.execute("USE database_1")
cursor.execute("SELECT * FROM table_1")

这将给出未找到表的错误,因为当游标执行下一个查询时,我们已将正在使用的数据库重置回默认值。有没有办法保持一致的状态/将多个查询捆绑到一个执行语句中以避免这种情况?我特别感兴趣的是能够设置映射器/化简器的数量,并能够在执行下一个查询时保持此状态。我知道另一种方法是使用 Python 让 shell 连接到 Hive 并执行 hql 文件,但我不想这样做。

最佳答案

我建议你尝试一些事情:

  1. 我认为在大多数情况下(如果不是全部),您可以使用连接字符串指定要使用的数据库。

  2. 我在 the documentation 中看到即使我会尝试,“执行”命令也会返回光标本身:

cursor.execute("USE database_1").execute("SELECT * FROM table_1")

(以防文档错误)

  • 这实际上可能有效:
  • cursor.execute("USE database_1")

    cursor.commit()

    cursor.execute("SELECT * FROM table_1")

    如果有效,请更新(如果有)。

    关于Python odbc游标: keeping persistent state after executing a query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28078174/

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