pyodbc execute 有效但 executemany 无效

问题描述 投票:0回答:0

我正在尝试将 Excel 数据导入 Teradata,我有超过 15000 行。

当我使用 execute 测试 50 行时,它运行良好,但导入超过 15000 行就太慢了。

然后我搜索了几个小时,我使用了 executemany,但我什至无法导入 1 行。

我错过了什么吗?

import pyodbc
import pandas

df=pd.read_excel(Srpath,sheet_name="Sheet1")

connection = pyodbc.connect(r"Driver={Teradata Database ODBC Driver 16.20};DBCNAME=TDPROD1;AUTHENTICATION=LDAP;UID=" + username + ";PWD=" + password)

cursor = connection.cursor()
for index, row in df.iterrows():
    cursor.executemany(
        "INSERT INTO Table(Cal_yr_num, Cak_pd_num, Banner, Company_code, Document_Number, GL_Account, Text_Info, Cheque_No, General_Ledger_Amount, Profit_Center, Cost_Center, CoCode_ChqNo, Account_Name) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?,?, ?, ?, ?)",
        row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9], row[10], row[11], row[12])

connection.commit()
cursor.close()
connection.close()

执行许多并执行

python pyodbc
© www.soinside.com 2019 - 2024. All rights reserved.