Как мы можем разрешить подключения TCP/IP для SQL Server в Docker?

#java #sql-server #docker #jdbc #tcp

Вопрос:

Я изучаю Java EE и пытаюсь открыть соединение с моей базой данных SQL Server, работающей на образе Docker. Я, очевидно, понимаю, что

Не удается создать PoolableConnectionFactory (Не удалось установить TCP/IP-соединение с хостом localhost/DB_DEMO, порт 1433.

С

 docker ps -a
 

Я попадаю 0.0.0.0:1433->1433/tcp в раздел «Порты» для своего образа SQL Server.

Я знаю, что мы можем использовать диспетчер конфигурации SQL Server для разрешения подключений TCP/IP, но я, похоже, не могу найти способ его установки без установки полного пакета SQL Server.

Итак, есть ли способ включить TCP/IP на моем SQL-сервере, работающем в контейнере Docker? Или что-то, чего я не понимаю во всей этой истории с «TCP/IP»?

ИЗМЕНИТЬ [РЕШЕНО]: Я получаю эту ошибку с этим URL-адресом (в документах Microsoft указано, что по умолчанию используется 1433, если порт не указан):

 url="jdbc:sqlserver://localhost/DB_DEMO"
 

Он работал с использованием формата {свойство=ключ} :

 url="jdbc:sqlserver://localhost;databaseName=DB_DEMO"
 

Я делал слишком много твитов одновременно, возвращаясь и возвращаясь к этим двум форматам, и, к сожалению, я думал, что проблемы не было (хотя я взял формат server/DBName из документации a). Урок усвоен!

Как ответил Марк Роттевил, TCP/IP, безусловно, включен по умолчанию в образе докера в любом случае.

Комментарии:

1. Это выглядит правильно. Что PS C:> test-netconnection localhost -Port 1433 показывает дисплей? Каков ваш URL-адрес JDBC? Это должно выглядеть как jdbc:sqlserver://localhost:1433;integratedSecurity=true. . . для драйвера Microsoft.

2. Показывает нам, как вы запускаете образ docker, и показывает нам строку подключения. Насколько я знаю, TCP/IP включен по умолчанию для образа докера SQL Server.

3. Пожалуйста, отредактируйте вопрос, чтобы включить URL-адрес вашего подключения к JDBC. Фрагмент ошибки host localhost/DB_DEMO указывает на то, что URL-адрес неправильно отформатирован.

4. Спасибо @DavidBrowne-Microsoft и @AlwaysLearning, я действительно изменил URL-адрес в формат, предписанный в документах Microsoft. Это не сработало со integratedSecurity свойством, по-видимому, для этого требуются некоторые дополнительные настройки, которые мне, вероятно, не нужны для моей учебной цели здесь. @mark-rotteveel Действительно, это, вероятно, включено по умолчанию. Моим одноклассникам, использующим полную установку SQLServer, пришлось пройти через ее включение, чтобы соединение открылось.