2017-01-31 22 views
1

У меня возникли трудности с подключением к экземпляру SQL Server в pypyodbc. Имя сервера имеет обратную косую черту, например «имя_сервера \ что-то», а не просто имя_сервера.Как ввести имя SQL Server в PYPYODBC с обратной косой чертой в имени сервера?

В pypyodbc, я пробовал все различные варианты,

Server=servername\something 
Server=servername\\something 
Server=[servername\something] 
Server=[servername\\something] 

Но никто из них не похоже на работу. Я получаю следующее сообщение об ошибке

pypyodbc.DatabaseError: ('08001', '[08001] [Microsoft] [ODBC SQL Server Driver] [DBNETLIB] SQL Server не существует или доступ запрещен.)

Как передать имя сервера?

Я могу подключиться к другим серверам штрафа до тех пор, пока они не имеют обратной косой черты

ответ

0

Как указано в Microsoft ODBC driver documentation, для Server= аргумента в вашей строке соединения

To specify a named instance of SQL Server, append \InstanceName.

Так что вопрос действительно «Как получить обратную косую черту в строку Python?»

Один из способов - использовать строковые литералы строки (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) 

 Смежные вопросы

  • Нет связанных вопросов^_^