【发布时间】:2017-07-16 13:16:29
【问题描述】:
我正在尝试借助 python 脚本将数据框“f3”加载到在 localhost 中运行的 MS SQL 服务器。这是我的代码;
导入 sqlalchemy
导入pyodbc
engine = sqlalchemy.create_engine("mssql+pyodbc://localhost/test_project")
f3.to_sql("test", 引擎)
但是,我收到一个错误,我无法弄清楚我做错了什么。有人可以帮我找出我在做什么错吗?
以下是我遇到的错误;
DBAPIError: (pyodbc.Error) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
将 DataFrame 写入 SQL 数据库中的表
【问题讨论】:
-
您遗漏了关键信息:错误是什么?我们可能不需要整个 Python 回溯,但我们当然需要 SQL Server 错误的文本。 IIRC
to_sql通常会创建一个表。如果您无权这样做,那可能是一个问题。 -
谢谢詹姆斯。我刚刚添加了该信息。你现在能帮帮我吗?它是一台本地机器。所以我放了localhost,没有用户名和密码。这可能是个问题吗?
-
该错误表明您没有连接到数据库。您没有将正确的连接信息传递给 sqlalchemy,或者您的基本 ODBC 设置不起作用。确保像
select count(*) from systables这样简单的东西在 pyodbc 中有效,然后在 sqlalchemy 中做同样的事情。之后,然后尝试使用 Pandas。
标签: python pandas-to-sql