Не удается подключиться к MS SQL Server с помощью драйвера JDBC SQLState 08001 - PullRequest
1 голос
/ 19 апреля 2019

Я пытаюсь подключиться к базе данных MS SQL Server, используя Java, но продолжаю сталкиваться с одной и той же ошибкой.

Я использую MS SQL Server для разработчиков и управляю им через SSMS.Когда я установил его, я установил его так, чтобы он использовал мои учетные данные Windows в качестве пароля.

Драйвер JDBC добавляется в мой проект как зависимость Maven.

Из того, что я понимаю, читая документацию MicrosoftЯ должен иметь возможность использовать следующую строку подключения:

String connectionUrl ="jdbc:sqlserver://localhost;integratedSecurity=true";

Однако, похоже, это не работает для меня, так как возвращает SQLState 08001. После прочтения этого состояния я понимаю, что оно как-то связано сне удается установить соединение.

Я также попытался сформировать строку подключения, используя свое имя для входа в Windows, что приводит к тому же результату:

String connectionUrl = "jdbc:sqlserver:localhost:1433;databaseName=DBNAME;user=John Doe;password=0123456789";

Я также попытался создать имя для входа с помощью T-SQL для использования в качестве учетных данных, используя ту же строку, что и предыдущая (только с изменением имени пользователя и пароля):

CREATE ROLE [USER]
GRANT SELECT, INSERT ON SCHEMA :: [dbo] TO USERNAME
CREATE LOGIN USERNAME_LOGIN WITH PASSWORD = '1234567890'
CREATE USER USER_USERNAME FROM LOGIN USERNAME_LOGIN
ALTER ROLE [USER] ADD MEMBER USER_USERNAME

Я мог бы действительно использовать некоторую помощь, чтобы понять, что я делаю неправильно, и что я могу сделать, чтобысделай так, чтоб это работало.Если вы хотите, чтобы я что-то проверил, пожалуйста, дайте мне знать, поскольку я все еще довольно новичок в этом.

Редактировать

В соответствии с запросом здесь приводится информация, полученная от getMessage ():

Не найден подходящий драйвер для jdbc: sqlserver: localhost: 1433; databaseName = .....

Я полагаю, что это также будет моментомупомяните зависимость Maven, которую я импортирую:

<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
       <groupId>com.microsoft.sqlserver</groupId>
       <artifactId>mssql-jdbc</artifactId>
       <version>7.3.0.jre8-preview</version>
</dependency>

Я думаю, что теперь возникает вопрос, есть ли у меня неправильный драйвер в качестве зависимости для MS SQL Server 2017?

1 Ответ

1 голос
/ 21 апреля 2019

Я выяснил, что для MS SQL Server не было подключений TCP / IP.

Чтобы включить это в MS SQL Server 2017:

  • Запустите SQLServerManager14.msc из меню приложения Windows.
  • Перейти к настройке сети SQL Server.
  • Перейти к протоколам для YOURINSTANCE.
  • Включение TCP / IP.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...