我想使用sqlalchemy和python连接到sql服务器数据库。 但是当我运行下面的代码时,出现以下错误
OperationalError:(pyodbc.OperationalError)('08001','[08001] [Microsoft] [SQL Server Native Client 11.0] SQL Server网络 接口:错误定位指定的服务器/实例[xFFFFFFFF]。 (-1)(SQLDriverConnect); [08001] [Microsoft] [SQL Server本机客户端 11.0]登入逾时(0); [08001] [Microsoft] [SQL Server Native Client 11.0]发生了与网络相关或特定于实例的错误 建立与SQL Server的连接时。找不到服务器或 无法访问。检查实例名称是否正确以及SQL Server是否正确 配置为允许远程连接。有关更多信息,请参见SQL。 服务器联机丛书。 (-1)')(此错误的背景位于: http://sqlalche.me/e/e3q8)
我认为问题与驱动程序有关,但我似乎无法理解。
这是我的代码:
from sqlalchemy.sql import text
from sqlalchemy import create_engine
import secrets
engine = create_engine( 'mssql+pyodbc://servername/test_db? driver=SQL+Server+Native+Client+11.0')
conn = engine.connect()
s = text("SELECT * FROM user_tab ")
result = conn.execute(s).fetchall()
print(result)
能帮我吗!
答案 0 :(得分:0)
您要连接到没有用户名,密码,主机名或端口的数据库。
当您查看文档中的示例时,将这样写:
# pymssql
engine = create_engine('mssql+pymssql://scott:tiger@hostname:port/dbname')
如您所见,此url包含的信息比url中的信息更多。
您刚刚获得了一个带有名称和dbname的URL。我不知道名字代表什么。
在大多数情况下,主机名将是localhost和端口1434。但是请确保mssqlserver在何处运行以及允许哪个用户在数据库上进行查询!