如何在 PYPYODBC 中输入服务器名称中有反斜杠的 SQL 服务器名称?
How do I enter a SQL Server Name in PYPYODBC which has a backslash in the server name?
我在尝试连接到 pypyodbc 中的 SQL 服务器实例时遇到困难。服务器名称中有一个反斜杠,例如 "servername\something",而不仅仅是服务器名称。
在 pypyodbc 中,我尝试了所有不同的变体,
Server=servername\something
Server=servername\something
Server=[servername\something]
Server=[servername\something]
但其中 none 似乎有效。我收到以下错误消息
pypyodbc.DatabaseError: ('08001', '[08001] [Microsoft][ODBC SQL 服务器驱动程序][DBNETLIB]SQL 服务器不存在或访问被拒绝。')
如何传递服务器名称?
我可以正常连接到其他服务器,只要它们没有反斜杠
如 Microsoft ODBC driver documentation 中所示,对于连接字符串
中的 Server=
参数
To specify a named instance of SQL Server, append \InstanceName.
所以问题确实是 "How to get a single backslash into a Python string?"
一种方法是使用原始字符串文字 (r""
)。这对我有用:
conn_str = (
r"Driver={ODBC Driver 11 for SQL Server};"
r"Server=PANORAMA\SQLEXPRESS;"
r"Database=myDb;"
r"Trusted_Connection=yes;"
)
conn = pypyodbc.connect(conn_str)
我在尝试连接到 pypyodbc 中的 SQL 服务器实例时遇到困难。服务器名称中有一个反斜杠,例如 "servername\something",而不仅仅是服务器名称。
在 pypyodbc 中,我尝试了所有不同的变体,
Server=servername\something
Server=servername\something
Server=[servername\something]
Server=[servername\something]
但其中 none 似乎有效。我收到以下错误消息
pypyodbc.DatabaseError: ('08001', '[08001] [Microsoft][ODBC SQL 服务器驱动程序][DBNETLIB]SQL 服务器不存在或访问被拒绝。')
如何传递服务器名称?
我可以正常连接到其他服务器,只要它们没有反斜杠
如 Microsoft ODBC driver documentation 中所示,对于连接字符串
中的Server=
参数
To specify a named instance of SQL Server, append \InstanceName.
所以问题确实是 "How to get a single backslash into a Python string?"
一种方法是使用原始字符串文字 (r""
)。这对我有用:
conn_str = (
r"Driver={ODBC Driver 11 for SQL Server};"
r"Server=PANORAMA\SQLEXPRESS;"
r"Database=myDb;"
r"Trusted_Connection=yes;"
)
conn = pypyodbc.connect(conn_str)