将数据从SQL Server传输到雪花时在python上获取错误

时间:2018-07-12 06:17:00

标签: python sql-server snowflake-datawarehouse

我遇到错误

  

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])

1 个答案:

答案 0 :(得分:1)

很明显是字符串解析错误。 您错过了提供%s打印输出的参数。

如果无法解决该问题,请后退并尝试另一种方法。 使用另一个脚本来实现相同目的,明天再找您发现错误:-)

我的脚本执行的操作几乎相同:

1. Connect to SQL Server
    -> fetchmany
        -> multipart upload to s3
            -> COPY INTO Snowflake table

详细信息在这里:Snowpipe-for-SQLServer