python - Python SQLAlchemy pyodbc.Error: ('HY000', '驱动程序没有提供错误!')
问题描述
大家好,我现在正在使用 Pandas 和 MSSQL。我工作正常,但最近在 SQlalchemy 更新后,当我尝试通过 df.to_sql 将信息上传到数据库时出现以下错误
pyodbc.Error: ('HY000', '驱动程序没有提供错误!')
我的连接定义如下
engine = create_engine('mssql+pyodbc://Reporter:******@localhost:1433/SourcingDb?driver=SQL+Server')
df.to_sql('ProductivityDeck', con=engine, if_exists='replace', index= False)
我得到的完整错误是这个
Traceback (most recent call last):
文件“C:\Python\Python36\lib\site-packages\sqlalchemy\engine\base.py”,第 1182 行,在 _execute_context 上下文中)文件“C:\Python\Python36\lib\site-packages\sqlalchemy\engine\ default.py",第 470 行,在 do_execute cursor.execute(statement, parameters) pyodbc.Error: ('HY000', '驱动程序没有提供错误!')
上述异常是以下异常的直接原因:
Traceback (most recent call last):
File "C:/Users/H212310/PycharmProjects/untitled2/UpdateCEDeckv2.py", line 23, in <module>
df.to_sql('ProductivityDeck', con=engine, if_exists='replace', index= False)
File "C:\Python\Python36\lib\site-packages\pandas\core\generic.py", line 2127, in to_sql
dtype=dtype)
File "C:\Python\Python36\lib\site-packages\pandas\io\sql.py", line 450, in to_sql
chunksize=chunksize, dtype=dtype)
File "C:\Python\Python36\lib\site-packages\pandas\io\sql.py", line 1149, in to_sql
table.insert(chunksize)
File "C:\Python\Python36\lib\site-packages\pandas\io\sql.py", line 663, in insert
self._execute_insert(conn, keys, chunk_iter)
File "C:\Python\Python36\lib\site-packages\pandas\io\sql.py", line 638, in _execute_insert
conn.execute(*self.insert_statement(data, conn))
File "C:\Python\Python36\lib\site-packages\sqlalchemy\engine\base.py", line 945, in execute
return meth(self, multiparams, params)
File "C:\Python\Python36\lib\site-packages\sqlalchemy\sql\elements.py", line 263, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "C:\Python\Python36\lib\site-packages\sqlalchemy\engine\base.py", line 1053, in _execute_clauseelement
compiled_sql, distilled_params
File "C:\Python\Python36\lib\site-packages\sqlalchemy\engine\base.py", line 1189, in _execute_context
context)
File "C:\Python\Python36\lib\site-packages\sqlalchemy\engine\base.py", line 1402, in _handle_dbapi_exception
exc_info
File "C:\Python\Python36\lib\site-packages\sqlalchemy\util\compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "C:\Python\Python36\lib\site-packages\sqlalchemy\util\compat.py", line 186, in reraise
raise value.with_traceback(tb)
File "C:\Python\Python36\lib\site-packages\sqlalchemy\engine\base.py", line 1182, in _execute_context context)
File "C:\Python\Python36\lib\site-packages\sqlalchemy\engine\default.py", line 470, in do_execute
cursor.execute(statement, parameters)
我试图回滚到较低版本的 SqlAlchemy,更新 Windows 中的 ODBC 驱动程序并升级 python 安装,它不断回来。
有关如何解决此问题的任何想法?
解决方案
好的,对于 pandas 23 中的一个已知错误,这是一个“静默错误,降级到 v22 会使错误消失,您可以上传 1000 多行。
正在解决这个问题
推荐阅读
- node.js - 如何在 Firestore Web 界面中使用数组包含
- java - 使用 Java 8 将列表对象中的属性断言为 null
- javascript - Javascript检查二维数组更新中是否存在值,否则创建
- python - 为什么 plt.imshow() 在 matplotlib 中不起作用
- jsplumb - 无法在 jsplumb 中创建直连接器
- scala - 如何比较不同类的属性值?
- javascript - 使用 Vue.$set 时生成缺少的嵌套对象
- javascript - 谷歌地图 API 和 JavaScript 问题
- css - 是否可以为以下设计设置多个值的单个复选框?
- python - 如何在不使用 sum 内置函数和使用嵌套循环的情况下添加嵌套列表的值