使用Pyodbc和SQLAlchemy连接到SQL服务器

2024-10-03 15:29:52 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是我要完成的一些背景: 我的工作创建了一个应用程序,该应用程序将信息存储在SQL数据库中,用于我们处理的每个作业。我正在尝试使用python自动化我们的一些工作流过程,但是我希望能够访问数据库中的信息。在

据我所知,要实现这一点,我需要将数据库连接到SQL server。我尝试使用SQLAlchemy和pyodbc来实现这一点。作为应用程序的一部分,我使用Microsoft SQL Server 2008 R2和SQL Server Native Client 10.0作为驱动程序。在

问题是我无法使用SQLAlchemy或pyodbc使用create_engine()或connect()方法连接到SQL server。我尝试了以下几种不同的方法:

1)使用DSN:我无法创建系统或用户DSN,因为我会收到此错误消息Error

2)使用SQLAlchemy和主机名连接:

engine = sqlalchemy.create_engine("mssql+pyodbc://user:password@.\DT_SQLEXPR2008/C:\SQLTest\JobDB.mdf?driver=SQL+Server+Native+Client+10.0")
engine.connect()

3)使用SQLAlchemy和windows身份验证:

^{pr2}$

4)使用pyodbc connect()方法:

conn = pyodbc.connect('DRIVER={SQL Server Native Client 10.0};SERVER=.\DT_SQLEXPR2008;DATABASE=C:\SQLTest\JobDB.mdf;UID=user;PWD=password')

在上面我输入了我的windows用户名和密码来代替“user”和“password”。Here是SQL配置的图片。管理器显示现有的SQL server和我的登录用户。在

我已尝试将服务器设置为。\DT_SQLEXPR2008以及“computername”\DT_SQLEXPR2008

每次收到此错误消息时:

InterfaceError: (pyodbc.InterfaceError) ('28000', "[28000] [Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user 'z003vrzk'. (18456) (SQLDriverConnect); [28000] [Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user 'z003vrzk'. (18456)") (Background on this error at: http://sqlalche.me/e/rvf5)

有谁能告诉我如何将数据库添加到SQL server并读取它包含的信息吗?在


Tags: client信息数据库应用程序sqlserversqlalchemyconnect
1条回答
网友
1楼 · 发布于 2024-10-03 15:29:52

这对于SQL用户来说是多余的,但是我还没有看到使用python+pyodbc回答这个问题。在

首先,我需要连接到驻留在我计算机上SQL server实例上的主数据库:

connMaster = pyodbc.connect('DRIVER={SQL Server Native Client 10.0}; 
SERVER=.\DT_SQLEXPR2008;DATABASE=master;Trusted_Connection=yes;')
cursorMaster = connMaster.cursor()

DT SQLEXPR2008是sqlserver实例名,master是数据库名,我正在使用windows身份验证进行连接。在

接下来,我需要附加位于路径C:\path\to\SQL中的数据库\作业数据库.mdf公司名称:

^{pr2}$

PathMDF和PathLDF是主数据文件和日志文件的文件路径名。在

如果您想连接到网络位置的数据库,我们需要TRACEON 1807(还没有得到这个工作)。在

相关问题 更多 >