2014-09-29 2 views
0

Я запускаю сервер Ubuntu 14.04.1 86_x64, и я пытался выяснить, как подключиться к MSSQL 2012 Contained Database. Я пытаюсь использовать pymssql 2.1.0, который использует драйвер FreeTDS. Основываясь на сайте pymssql, я решил, что проблема связана с драйвером FreeTDS.Подключиться к MSSQL Содержат базу данных с python на Ubuntu?

Я использовал tsql -H SERVER -p PORT -U USERNAME -P PASSWORD -D DATABASE и я получаю ошибку:

Msg 18456 (severity 14, state 1) from SERVER Line 1:

"Login failed for user 'USERNAME'." 

Error 20002 (severity 9):

Adaptive Server connection failed 

There was a problem connecting to the server

не имеют те же проблемы с подключением к базе данных MSSQL 2008, который не поддерживает Содержится баз данных. Кроме того, я не могу контролировать этот параметр в базе данных.

ответ

0

Найдено, что pymssql 2.1.1 исправляет это как часть их «Совместимость с Azure».

Код, который исправляет его, был в строках 606-613 в _mssql.pyx, который можно найти на github. Я поставил строки здесь только для справки.

# Put the DB name in the login LOGINREC because it helps with connections to Azure 
if database: 
    if FREETDS_SUPPORTS_DBSETLDBNAME: 
     dbname_bytes = database.encode('ascii') 
     dbname_cstr = dbname_bytes 
     DBSETLDBNAME(login, dbname_cstr) 
    else: 
     log("_mssql.MSSQLConnection.__init__(): Warning: This version of FreeTDS doesn't support selecting the DB name when setting up the connection. This will keep connections to Azure from working.")