Python 如何在PyODBC中输入服务器名称中带有反斜杠的SQL Server名称?

Python 如何在PyODBC中输入服务器名称中带有反斜杠的SQL Server名称?,python,sql-server-2008,pypyodbc,Python,Sql Server 2008,Pypyodbc,我在尝试连接PyODBC中的SQL Server实例时遇到困难。服务器名称中有一个反斜杠,例如“servername\something”,而不仅仅是servername 在PyODBC中,我尝试了所有不同的变体 Server=servername\something Server=servername\\something Server=[servername\something] Server=[servername\\something] 但它们似乎都不起作用。我收到以下错误消息 pyp

我在尝试连接PyODBC中的SQL Server实例时遇到困难。服务器名称中有一个反斜杠,例如“servername\something”,而不仅仅是servername

在PyODBC中,我尝试了所有不同的变体

Server=servername\something
Server=servername\\something
Server=[servername\something]
Server=[servername\\something]
但它们似乎都不起作用。我收到以下错误消息

pypyodbc.DatabaseError:('08001','08001][Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server不存在或访问被拒绝。')

如何传递服务器的名称

我可以很好地连接到其他服务器,只要它们没有连接字符串中的
Server=
参数中指示的反斜杠

要指定SQL Server的命名实例,请附加\InstanceName

所以问题实际上是“如何将一个反斜杠转换成Python字符串?”

一种方法是使用原始字符串文本(
r”“
)。这对我很有用:

conn\u str=(
r“驱动程序={SQL Server的ODBC驱动程序11}
r“Server=PANORAMA\SQLEXPRESS
r“数据库=myDb
r“受信任的连接=是”
)
conn=pyodbc.connect(conn_str)
如中所示,对于连接字符串中的
服务器=
参数

要指定SQL Server的命名实例,请附加\InstanceName

所以问题实际上是“如何将一个反斜杠转换成Python字符串?”

一种方法是使用原始字符串文本(
r”“
)。这对我很有用:

conn\u str=(
r“驱动程序={SQL Server的ODBC驱动程序11}
r“Server=PANORAMA\SQLEXPRESS
r“数据库=myDb
r“受信任的连接=是”
)
conn=pyodbc.connect(conn_str)