Могу ли я использовать Flyway с шифрованием SQL Server? - PullRequest
1 голос
/ 17 апреля 2020

В наших условиях испытаний мы используем пролетные пути. Теперь мы хотим использовать его и в наших продуктивных системах.

В этих системах мы применяем шифрование сервера SQL, чтобы flyway не мог связаться с нашей базой данных.

Я получаю следующую ошибку:

D: \ flyway-6.2.0> flyway info Пароль базы данных: Flyway Community Edition 6.2.0 от Redgate ОШИБКА: невозможно получить соединение из базы данных (jdb c: jtds: sqlserver: / / localhost: Порт ; имя_базы_данных = myDatabase ; integratedSecurity = true;) для пользователя '********':
Ошибка ввода-вывода: сервер БД закрыт соединение.
SQL Состояние: 08S01
Код ошибки: 0
Сообщение: ошибка ввода-вывода: соединение с сервером БД закрыто.

Кто-нибудь знает эту проблему и может помочь меня?

1 Ответ

3 голосов
/ 22 апреля 2020

Flyway начал поддерживать параметр 'integratedSecurity = true' jdb c в Flyway 6.2.4 ( примечания к выпуску ), поэтому при обновлении до этой версии или более поздней он должен работать. Это также требует, чтобы sqljdbc_auth.dll был доступен на пути к классам.

Необходимые шаги, предпринятые из https://flywaydb.org/documentation/database/sqlserver#authentication.

Windows Аутентификация и Azure Active Directory требуется установить дополнительный драйвер:

  1. Go на страницу «Загрузить драйвер Microsoft JDB C для SQL Server»

  2. Загрузите файл .tar.gz для версии JDB C, используемой Flyway

  3. Эта версия доступна в разделе «Центральные координаты Maven» в разделе «Драйвер» на начало этой страницы

  4. Извлеките содержимое файла

  5. Найдите sqljdbc_auth.dll в sqljdbc_ {version} \ enu \ auth \ x64 Скопируйте sqljdbc_auth.dll в доступное место в вашей среде (например, C: \ jdb c -драйверы)

  6. Добавьте местоположение sqljdbc_auth.dll в переменную среды PATH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...