SQLalchemy返回空表名称列表,尽管数据库不是

时间:2018-07-25 20:36:50

标签: python sql-server database sqlalchemy

我根据以下代码成功提取了表名:-

from sqlalchemy import create_engine

engine = create_engine('mssql+pyodbc://[database]/[table]?driver=SQL+Server')
connection = engine.connect()

engine.table_names()

由于连接成功,所以我尝试将熊猫数据框加载到数据库中。

df.to_sql('table_all', engine)

以上代码失败,错误为'Operand type clash: numeric is incompatible with text'

我发现我的数据框中可能存在错误加载的字段。

问题是,当我再次运行create_engine代码时,返回的列表为空,尽管连接字符串未更改或返回任何错误并且数据库不为空,但没有返回表名

我在同事的机器上测试了没有df.to_sql的完全相同的代码,并且工作正常。连接字符串保持不变,如果直接访问SQL Management Studio,则可以查看表甚至进行查询。使用Windows身份验证建立连接。

0 个答案:

没有答案