我遇到错误
query =命令%已处理参数的TypeError:并非所有参数 在字符串格式化期间转换
我正在尝试从SQL Server中提取数据,然后将其插入Snowflake 我下面的代码
import pyodbc
import sqlalchemy
import snowflake.connector
driver = 'SQL Server'
server = 'tanmay'
db1 = 'testing'
tcon = 'no'
uname = 'sa'
pword = '123'
cnxn = pyodbc.connect(driver='{SQL Server}',
host=server, database=db1, trusted_connection=tcon,
user=uname, password=pword)
cursor = cnxn.cursor()
cursor.execute("select * from Admin_tbldbbackupdetails")
rows = cursor.fetchall()
#for row in rows:
# #data = [(row[0], row[1],row[2], row[3],row[4], row[5],row[6], row[7])]
print (rows[0])
cnxn.commit()
cnxn.close()
connection = snowflake.connector.connect(user='****',password='****',account='*****')
cursor2 = connection.cursor()
cursor2.execute("USE WAREHOUSE JOLLIBEE_WH")
cursor2.execute("USE DATABASE Sales")
sql1="INSERT INTO JFC_CHINA_RND.Admin_tbldbbackupdetails_ip"
"(id,dbname, dbpath, backupdate, backuptime, backupStatus, FaildMsg, Backupsource)"
"values (?,?,?,?,?,?,?,?)"
cursor2.execute(sql1,*rows[0])
答案 0 :(得分:1)
很明显是字符串解析错误。
您错过了提供%s
打印输出的参数。
如果无法解决该问题,请后退并尝试另一种方法。 使用另一个脚本来实现相同目的,明天再找您发现错误:-)
我的脚本执行的操作几乎相同:
1. Connect to SQL Server
-> fetchmany
-> multipart upload to s3
-> COPY INTO Snowflake table
详细信息在这里:Snowpipe-for-SQLServer