【发布时间】:2022-10-18 21:10:01
【问题描述】:
我想使用登录我的代码来运行我的代码并获取我无法执行操作的表的名称。我收到此错误消息:
数据不适用于表 DIM_LOGS。请求超出对象创建时间。
我的例子:
import pandas as pd import logging logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) sql = "SELECT * FROM TABLE" cur.execute(sql) df = pd.DataFrame.from_records(iter(cur), columns=[x[0] for x in cur.description]) my_dict = dict() for i in df['col1'].unique().tolist(): df_x = df[df['col1'] == i] my_dict[i] = df_x['col_table'].tolist() sql_list = [] for k, v in my_dict.items(): for v in v: sql_list.append([f"INSERT INTO {k}.{v} SELECT * FROM {k}.{v} where col2 = 1;"]) sql = 'EXECUTE IMMEDIATE %s' cur.executemany(sql, sql_list) conn.close()我想添加异常以运行此代码,并将表的名称添加到某个日志文件或我有错误的东西中。在我的 for 循环中,k 是模式名,v 是表名。
【问题讨论】:
-
您使用哪个库连接到 SQL 数据库?
-
@Florent Monin 我使用的是 snowflake.connector。