【发布时间】:2016-10-27 14:02:29
【问题描述】:
我有两个 Mysql 连接,通过 pyodbc 声明为:
connMy1 = pyodbc.connect('DRIVER={MySQL ODBC 5.3 Unicode Driver};SERVER=***;UID=***;PWD=***')
connMy1.autocommit = True
cursorMy1 = connMy1.cursor()
connMy2 = pyodbc.connect('DRIVER={MySQL ODBC 5.3 Unicode Driver};SERVER=***;UID=***;PWD=***')
connMy2.autocommit = True
cursorMy2 = connMy2.cursor()
我创建了一个带有 pandas 的 CSV,如下所示:
def bajar(sql,tabla,ruta):
print ("bajando datos")
chunk = 10 ** 5
chunks = pandas.read_sql(sql, connMy1, chunksize=chunk)
eliminarArchivo(ruta)
print ("creando CSV")
with open(ruta, 'w') as output:
for n, df in enumerate(chunks):
write_header = n == 0
df.to_csv(output, sep=';', index=False, header=False, na_rep='NULL')
connMy1.commit()
然后我调用这个函数来上传 CSV
def subir(ruta,tabla):
print ("Subiendo datos")
sqlMy2 = "load data local infile '"+ruta+"' into table "+tabla+" fields terminated by ';' lines terminated by '\r\n';"
print (sqlMy2)
cursorMy2.execute(sqlMy2)
connMy2.commit()
如果我首先调用第二个函数(使用第一个函数预先创建的 CSV),它会完美地上传数据,如果我在第一个函数之后调用该函数,我得到: pyodbc.Error: ('HY000', '驱动程序没有提供错误!')
我做错了什么的任何提示? 谢谢!
【问题讨论】: