Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 至“sql-”;无法在类似字节的对象上使用字符串模式;_Python_Pandas_Sqlalchemy_Pypyodbc - Fatal编程技术网

Python 至“sql-”;无法在类似字节的对象上使用字符串模式;

Python 至“sql-”;无法在类似字节的对象上使用字符串模式;,python,pandas,sqlalchemy,pypyodbc,Python,Pandas,Sqlalchemy,Pypyodbc,我试图使用pandas、sqlalchemy和pyodbc将数据帧(df2)写入sql数据库中的表中。我已成功地使用pyodbc连接到数据库。但是,当我尝试使用带有to_sql的引擎时,它会在标题中抛出错误。我认为在解析引擎创建字符串时,urllib部分缺少了一些内容 以下是我的代码片段: connStr = "Driver=SQL Server Native Client 10.0; Server=Sname-L\SQLEXPRESS;database=DBname;trusted_conne

我试图使用pandas、sqlalchemy和pyodbc将数据帧(df2)写入sql数据库中的表中。我已成功地使用pyodbc连接到数据库。但是,当我尝试使用带有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)
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“noadatamanip_datafram.py”,第50行,在
df2.to_sql('db_table2',引擎,如果存在='replace')
文件“C:\Users\user\AppData\Local\Continuum\Anaconda3\lib\site packages\p
andas\core\generic.py”,第1201行,在to_sql中
chunksize=chunksize,dtype=dtype)
上面的代码持续了很多行,并在标题中返回了错误。让我知道,如果张贴整个事情将是有益的


很抱歉,我的错误处理技能很低

您可以向我们展示
to_sql()
提供的标题中错误的回溯。这就是您要找的吗?第47行,在df2.to_sql('db_table2',engine,if_exists='replace')第1201行,在to_sql chunksize=chunksize,dtype=dtype)第470行,在to_sql table.create()行,看起来像是堆栈回溯的一部分。编辑问题以包含完整的回溯,并确保将其格式化为代码,以便我们看到Python显示的确切换行符。谢谢。无需在引擎连接中添加odbc连接字符串。请参阅我删除了“odbc_connect=”,但是当我这样做时,它返回了:sqlalchemy.exc.DBAPIError:(pypypyodbc.Error)(“IM002”、“[IM002][Microsoft][odbc Driver Manager]未找到数据源名称且未指定默认驱动程序”)。这将有助于您向我们显示从标题中的错误(其中
到_sql()
提供给您。这就是您要找的吗?第47行,在df2.to_sql('db_table2',engine,if_exists='replace')第1201行,在to_sql chunksize=chunksize,dtype=dtype)第470行,在to_sql table.create()行,看起来像是堆栈回溯的一部分。编辑问题以包含完整的回溯,并确保将其格式化为代码,以便我们看到Python显示的确切换行符。谢谢。无需在引擎连接中添加odbc连接字符串。请参阅,我删除了“odbc_connect=”,但是当我这样做时,它返回:sqlalchemy.exc.dbapierro:(pypyodbc.Error)(“IM002”、“[IM002][Microsoft][odbc驱动程序管理器]未找到数据源名称且未指定默认驱动程序”)