我正在尝试使用pandas,sqlalchemy和pypyodbc将我的数据帧(df2)写入我的sql数据库中的表。我已经使用pypyodbc成功连接到数据库。但是,当我尝试使用带有to_sql的引擎时,它会在标题中抛出错误。我认为在解析引擎创建字符串时,我在urllib部分中遗漏了一些内容。
这是我的代码段:
connStr = "Driver=SQL Server Native Client 10.0; Server=Sname-L\SQLEXPRESS;database=DBname;trusted_connection=yes;"
connEncodedStr = urllib.parse.quote_plus(connStr)
engine = sqlalchemy.create_engine("mssql+pyodbc:///?odbc_connect={}".format(connEncodedStr),module=pypyodbc,echo=True)
df2.to_sql('db_table2', engine, if_exists='replace')
print(engine)
结果:
Engine(mssql+pyodbc:///?odbc_connect=Driver=SQL Server Native Client 10.0; Server=Sname-L\SQLEXPRESS;database=DBname;trusted_connection=yes;)
这是追溯:
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Continuum\Anaconda3\lib\site-packages\s
qlalchemy\pool.py", line 1122, in _do_get
return self._pool.get(wait, self._timeout)
File "C:\Users\user\AppData\Local\Continuum\Anaconda3\lib\site-packages\s
qlalchemy\util\queue.py", line 145, in get
raise Empty
sqlalchemy.util.queue.Empty
然而,这也发生了:
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "noaadatamanip_datafram.py", line 50, in <module>
df2.to_sql('db_table2', engine, if_exists='replace')
File "C:\Users\user\AppData\Local\Continuum\Anaconda3\lib\site-packages\p
andas\core\generic.py", line 1201, in to_sql
chunksize=chunksize, dtype=dtype)
上面的代码继续了很多行,并在标题中返回错误。让我知道如果发布整个内容会有所帮助。
提前抱歉,我的错误处理技巧非常低。