pyodbc.connect() 到 SQL 服务器数据库失败
pyodbc.connect() to SQL Server database fails
我正在尝试通过 pyodbc.connect()
.
连接到 SQL 服务器数据库
我的连接字符串如下:
connection = pyodbc.connect(
"DRIVER={SQL Server};SERVER=server;DATABASE=databaseP;UID=user;PWD=password"
)
但它一次又一次地失败,我得到以下错误:
'42000', '[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot open database "database" requested by the login. The login failed. (4060) (SQLDriverConnect)
我试图逃避任何在我看来可能存在的问题(例如 _ 或 @),但无济于事。
在我通过 DSN 输入完全相同的数据并使用以下连接字符串后,它起作用了:
connection = pyodbc.connect(
dsn="my_dsn",
uid=user,
pwd=password
)
第一个连接字符串有什么问题?我宁愿(出于个人原因)使用第一个,但仍然无法找出为什么它不起作用。
如果您连接时未指定数据库,您将连接到登录名的 DEFAULT_DATABASE,通常是 Master。
如果您在连接字符串中指定了一个数据库,您将直接连接到该数据库。如果请求的数据库不存在,或者您无权访问它,则会收到错误消息:“无法打开登录请求的数据库“XXXXX”。登录失败。“
我正在尝试通过 pyodbc.connect()
.
我的连接字符串如下:
connection = pyodbc.connect(
"DRIVER={SQL Server};SERVER=server;DATABASE=databaseP;UID=user;PWD=password"
)
但它一次又一次地失败,我得到以下错误:
'42000', '[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot open database "database" requested by the login. The login failed. (4060) (SQLDriverConnect)
我试图逃避任何在我看来可能存在的问题(例如 _ 或 @),但无济于事。
在我通过 DSN 输入完全相同的数据并使用以下连接字符串后,它起作用了:
connection = pyodbc.connect(
dsn="my_dsn",
uid=user,
pwd=password
)
第一个连接字符串有什么问题?我宁愿(出于个人原因)使用第一个,但仍然无法找出为什么它不起作用。
如果您连接时未指定数据库,您将连接到登录名的 DEFAULT_DATABASE,通常是 Master。
如果您在连接字符串中指定了一个数据库,您将直接连接到该数据库。如果请求的数据库不存在,或者您无权访问它,则会收到错误消息:“无法打开登录请求的数据库“XXXXX”。登录失败。“