小编Ale*_*mas的帖子

pypyodbc错误'关联语句未准备'

我正在尝试为 pypyodbc SQL Server 创建一个“upsert”函数。我已经验证建立的查询将在 SSMS 中运行并获得所需的结果,但是当尝试使用 pypyodbc 执行和提交时,我收到以下错误:'HY007','[HY007] [Microsoft][ODBC SQL Server Driver]Associated声明未准备好”

这是 upsert 函数:

def sql_upsert(sql_connection, table, key_field, key_value, **kwargs):
    keys = ["{key}".format(key=k) for k in kwargs]
    values = ["'{value}'".format(value=v) for v in kwargs.values()]
    update_columns = ["{key} = '{value}'".format(key=k, value=v) for k, v in kwargs.items()]
    sql = list()

    #update
    sql.append("UPDATE {table} SET ".format(table=table))
    sql.append(", ".join(update_columns))
    sql.append(" WHERE {} = '{}'".format(key_field, key_value))
    sql.append(" IF @@ROWCOUNT=0 BEGIN ")

    # insert
    sql.append("INSERT INTO {table} (".format(table=table))
    sql.append(", ".join(keys))
    sql.append(") VALUES …
Run Code Online (Sandbox Code Playgroud)

python sql pypyodbc

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

pypyodbc ×1

python ×1

sql ×1