MS SQLServer JDBCcommandline с Liquibase - Ошибка входа / Исключение TCP IP / Недействительный порт

Я пытаюсь подключиться к Microsoft SQL Server 2008 SP3 с помощью Liquibase и Microsoft JDBC Driver 4.1. Я получаю различные исключения и ни одного успешного способа аутентификации на сервере через командную строку. С тем же именем пользователя и паролем я смог войти в базу данных через клиент MS SQL. Таким образом, это не проблема, связанная с проблемами входа в систему для этого пользователя. Я считаю, что проблема связана с драйвером JDBC.

Версии:

1) SQL Server 2008 с пакетом обновления 3 (SP3)

2) Ликвибаза v3.3.2

3) Драйвер JDBC - «Драйвер Microsoft JDBC 4.1 для SQL Server» - http://www.microsoft.com/en-us/download/details.aspx?id=11774

4) Версия JDK - 1.7.0_71 "[Среда выполнения Java (TM) SE (сборка 1.7.0_71-b14), 64-разрядная серверная виртуальная машина Java HotSpot (TM) (сборка 24.71-b01, смешанный режим)]

Что я проверил:

1) TCP / IP разрешен, помечено "ДА", порт 1433

2) MS SQL 2008 SP3, установленный для решения проблемы «2976923 2994310 FIX: сбой агента распространителя для подписки Oracle при использовании SQL Server 2008 R2 или SQL Server 2008» - http://support.microsoft.com/kb/2653857

3) Проверка подлинности сервера SQL и проверка подлинности Windows включены для пользователя.

Ошибки и ввод в командной строке:

1 "com.microsoft.sqlserver.jdbc.sqlserverexception не удалось войти в систему для пользователя"

Ввод в командной строке -

а. liquibase --driver = com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath = C: \ MicrosoftJDBC \ sqljdbc_4.1 \ enu \ sqljdbc4.jar --url = "jdbc: sqlserver: // DBServer" --username = abcd --password = abcd123 --changeLogFile = db-changelog.xml обновить

б. liquibase --driver = com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath = C: \ MicrosoftJDBC \ sqljdbc_4.1 \ enu \ sqljdbc4.jar --url = "jdbc: sqlserver: // DBServer; databaseName = DBName;" --username = abcd --password = abcd123 --changeLogFile = db-changelog.xml обновить

c. liquibase --driver = com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath = C: \ MicrosoftJDBC \ sqljdbc_4.1 \ enu \ sqljdbc4.jar --url = "jdbc: sqlserver: // DBServer; databaseName = DBName;" ; --username = abcd --password = abcd123 --changeLogFile = db-changelog.xml обновить

2 - Непредвиденная ошибка при запуске Liquibase: com.microsoft.sqlserver.jdbc.SQLServerException: номер порта 1433 \ DBName недействителен.

Командная строка ввода -

а. liquibase --driver = com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath = sC: \ MicrosoftJDBC \ sqljdbc_4.1 \ enu \ qljdbc4.jar --url = "jdbc: sqlserver: // DBServer: 1433 / DBName" - -username = abcd --password = abcd123 --changeLogFile = db-changelog.xml обновить

б. liquibase --driver = com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath = C: \ MicrosoftJDBC \ sqljdbc_4.1 \ enu \ sqljdbc4.jar --url = "jdbc: sqlserver: // DBServer: 1433 \ DBName" - -username = abcd --password = abcd123 --changeLogFile = db-changelog.xml обновить

c.liquibase --driver = com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath = C: \ MicrosoftJDBC \ sqljdbc_4.1 \ enu \ sqljdbc4.jar --url = "jdbc: sqlserver: // DBServer \ DBName" - -username = abcd --password = abcd123 --changeLogFile = db-changelog.xml обновить

3 Непредвиденная ошибка при запуске Liquibase: com.microsoft.sqlserver.jdbc.SQLServerException: соединение TCP / IP с хостом DBServer / DBName, порт 1433 не выполнено. Ошибка: «null. Проверьте свойства соединения. Убедитесь, что на узле запущен экземпляр SQL Server и принимает соединения TCP / IP на порту. Убедитесь, что соединения TCP с портом не блокируются брандмауэром.».

Ввод в командной строке -

а. liquibase --driver = com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath = C: \ MicrosoftJDBC \ sqljdbc_4.1 \ enu \ sqljdbc4.jar --url = jdbc: sqlserver: // DBServer / DBName "--username = abcd --password = abcd123 --changeLogFile = db-changelog.xml обновить

Мне требуется разрешение с помощью аргументов командной строки Liquibase, а не с помощью Java или Maven. Мне удалось успешно пройти аутентификацию с одним и тем же пользователем через Java и Maven, но это не решает мою задачу по автоматизации развертываний. Пожалуйста, помогите решить эту проблему. Спасибо!


person Amreth Chandrasehar    schedule 20.02.2015    source источник
comment
Проблема в том, что файл Liquibase.bat удаляет символ '!' [символ восклицательного знака] в конце, когда он анализируется в пакетном файле перед передачей в метод liquibase.integration.commandline.Main в файле liquibase.jar. Я поднял проблему liquibase.jira.com/browse/CORE-2250   -  person Amreth Chandrasehar    schedule 24.02.2015


Ответы (1)


Проблема в том, что файл Liquibase.bat удаляет символ '!' [символ восклицательного знака] в конце, когда он анализируется в пакетном файле перед передачей в метод liquibase.integration.commandline.Main в файле liquibase.jar. Я поднял проблему Liquibase.jira.com/browse/CORE-2250

person Amreth Chandrasehar    schedule 24.02.2015
comment
По состоянию на октябрь 2016 г. эта проблема все еще не решена. Удалось ли вам решить проблему, связанную с изменением пароля администратором баз данных? - person One-One; 24.10.2016