2016-05-04 3 views
0

Я пытаюсь настроить базу данных Azure, которая будет использоваться subunit2sql. На этапах установки subunit2sql дб, упоминается, чтобы создать схему, как:Конфигурация subunit2sql для базы данных Azure

subunit2sql-db-manage --database-connection mysql://subunit:[email protected]/subunit upgrade head 

Замена вкладку MySQL с MSSQL, и после создания подключения ODBC SDN к лазурным БД - я могу видеть база данных.

Однако соединение subunit2sql всегда терпит неудачу с помощью следующей трассировки. Я понимаю, что я не могу использовать правильную конфигурацию для алхимии/питона, но сообщения меня путают, как если бы я использовал isql, например, с информацией SDN DB, с которой я могу подключиться к ней.

Command Я бегу это:

subunit2sql-db-manage --verbose --database-connection mssql://user:'pwd'@remote_host/DB upgrade head 

у меня есть Odbc конфигурации под /etc/odbcinst.ini и файла /etc/odbc.ini но выше не с: oslo_db.exception.DBError : (pyodbc.Error) ('IM002', '[IM002] [unixODBC] [Менеджер драйверов] Имя источника данных не найдено, и указанный драйвер по умолчанию не указан (0) (SQLDriverConnect)')

(извините, что не могу добавить subuni2sql здесь, поскольку у меня нет точек)

ответ

1

Обмен моими испытаниями. Надеюсь, поможет.

Согласно requirements.txt проекта subunit2sql на GitHub, инструмент необходим Python пакет SQLAlchemy, поэтому я имею в виду поддержку в SQLAlchemy document для базы данных Microsoft SQL Server с помощью драйвера pymssql, чтобы установить соединение с базой данных с подключением базы данных Azure SQL строка, см. ниже.

subunit2sql-db-manage --database-connection mssql+pymssql://<username>@<hostname>:<password>@<hostname>.database.windows.net:1433/<database> upgrade head 

Примечание: Вы можете найти переменные username, password, hostname & database в SQL базы данных строки подключения на Лазурном портала.

Для успешного подключения базы данных SQL вам необходимо выполнить следующие действия перед выполнением указанной выше команды.

В качестве ссылки, моя среда Ubuntu 14.04 LTS.

  1. Обращайтесь к документу Configure development environment for Python development, чтобы установить необходимый пакет для Python.
  2. Конфигурирование файла /etc/odbcinst.ini, например, как показано ниже.

    [FreeTDS] 
    Driver=/usr/local/lib/libtdsodbc.so 
    Setup=/usr/local/lib/libtdsodbc.so 
    Server={hostname}.database.windows.net 
    UsageCount=1 
    Port=1433 
    Database={database} 
    User={username}@{hostname} 
    Password={password} 
    TDS_Version=7.2 
    client_charset=utf-8 
    
  3. Настройка параметров брандмауэра, чтобы добавить IP клиента, пожалуйста, обратитесь к https://azure.microsoft.com/en-us/documentation/articles/sql-database-configure-firewall-settings/.

Хотя я получил информацию об ошибке, как показано ниже, успешно подключил базу данных SQL.

oslo_db.exception.DBError: (pymssql.ProgrammingError) (102, "Incorrect syntax near ' '.DB-Lib error message 102, severity 15:\nGeneral SQL Server error: Check messages from the SQL Server\nDB-Lib error message 156, severity 15:\nGeneral SQL Server error: Check messages from the SQL Server\n") [SQL: 'INSERT INTO test_metadata_new (id, key`, value, test_id, new_test_id) SELECT tm.id, tm.key, tm.value, tm.test_id, tn.new_id FROM test_metadata tm INNER JOIN tests_new tn ON tn.id = tm.test_id']

+0

Большое спасибо! Я смог подключиться к БД, используя тип соединения mssql + pymssql, но затем я попал в ту же ошибку, что и вы описали. Я проверил это с помощью последнего стабильного subunit2sql, а также сборки dev.Поэтому я поднял с ними проблему, чтобы посмотреть, что они скажут. – user3144292

+0

@ user3144292 Спасибо за ваш обмен! –

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