PYODBC插入数据库 - 错误:未实现可选功能(0)(SQLBindParameter)

时间:2017-01-18 19:43:09

标签: python sql sql-server pyodbc pypyodbc

我目前正在尝试使用pyodbc数据库A 中的表中选择数据,并将其插入数据库B 中的表中。我能够与两个数据库建立连接,所以我知道那里没有错误。另外,我的第一个cursor.execute命令(第9行)工作,因为我能够打印所有数据。

我遇到的问题是当我尝试将第一个cursor.execute命令中的数据插入到数据库B中时。关于同样的错误,有几个关于SO的问题,但是我已经检查过以确保我没有提交这些错误。 SQL Server中接受所有数据类型,我有正确数量的参数和参数标记,并且我确保Python代码中的列与输入和输出表都匹配。我完全陷入困境,非常感谢任何帮助。

我得到的具体错误是:

  

(' HYC00',' [HYC00] [Microsoft] [ODBC SQL Server驱动程序]可选功能   未实现(0)(SQLBindParameter)')

请参阅下面的代码:

import pyodbc
import time

cnxn1 = pyodbc.connect(r"DRIVER={SQL Server Native Client 11.0};SERVER='Server';" + \
                        "DATABASE='DatabaseA';Trusted_Connection=Yes")
cursor1 = cnxn1.cursor()

cnxn2 = pyodbc.connect(r"DRIVER={SQL Server};SERVER='Server'," + \
                        "user='Username', password='Password', database='DatabaseB'")
cursor2 = cnxn2.cursor()

SQL =  cursor1.execute("select * from table.DatabaseA")
SQL2 = """insert into table.DatabaseB([col1], [col2], [col3], [col4],[col5], [col6], [col7],
                               [col8], [col9], [col10], [col11], [col12], [col13], [col14],
                               [col15], [col16],[col17], [col18], [col19], [col20], [col21], 
                               [col22], [col23], [col24], [col25], [col26], [col27], [col28],
                               [col29], [col30], [col31]) 
          values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"""

for row in cursor1.fetchall():  
    cursor2.execute(SQL2,row)

关于最后两行代码,我也试过以下内容但没有成功:

for row in SQL:
   cursor2.execute(SQL2,row)

0 个答案:

没有答案