Подключите метабазу к серверу Sql
Я установил Java на свой компьютер с Windows 10 и скачал Metabase.jar
и запустил его.
Теперь я мог получить доступ к метабазе на локальном хосте:3000
Но я не могу настроить базу данных SQL Server как ссылку на данные.
Я либо получаю:
Не удалось подключиться к базе данных. Пожалуйста, проверьте детали подключения.
или же
Тайм-аут через 5000 миллисекунд.
Кто-нибудь, кто успешно установил соединение Metabase - SQL Server?
2 ответа
В настоящее время, начиная с версии Metabase 0.30.x, ответ зависит от того, можете ли вы использовать пользователя, настроенного непосредственно на SQL Server:
Более простой вариант установки - пользователь, настроенный непосредственно на SQL Server. Тогда конфигурация - это просто Имя: (что угодно), Хост: (полное имя), Имя базы данных, Имя пользователя, Пароль, как и следовало ожидать. (Я считаю, что вы не должны заполнять домен Windows).
Только в Windows вы также можете использовать встроенную встроенную аутентификацию с
sqljdbc_auth.dll
, просто укажите свойство соединения integratedSecurity = true (и опционально authenticationScheme=NativeAuthentication). Я нашел, если я уронил x64sqljdbc_auth.dll
в моем<java path>\jre\bin
Папка была подобрана. Конфигурация метабазы как на скриншоте ниже, кроме паденияauthenticationScheme=JavaKerberos
Кроссплатформенная
authenticationScheme=JavaKerberos
Возможность использования Windows Authentication с пользователем домена все еще выполнима, но сложнее. Вот эти шаги:Создать
krb.conf
и убедитесь, что логин работает с<Java path>\bin\kinit.exe [user]
, Вот шаблон, отредактированный для соответствия настройке базы данных Metabase на скриншоте ниже.Запустите файл Metabase.jar с параметрами для загрузки
krb.conf
, У меня работает сjava -Djava.security.krb5.conf=c:/<path>/kerberos/krb.conf -jar metabase.jar
,Теперь настройте параметры базы данных в метабазе, как показано на скриншоте ниже.
Момент истины!...
Необязательно: все еще не работает? Может быть, ваш SQL Server не настроен для Kerberos? Может быть, вам нужна настройка SPN? Может быть, вам нужно указать java.security.auth.login.config (я сам не сталкивался с этим, единственное, что я могу предложить, это прокрутить до конца этого поста и погрузиться, а затем отредактировать свой вопрос в соответствии с тем, где вы получили и какой у вас конфиг)
Для фона, текущий (август 2018) очень долго:| Подводя итог множеству ссылок о том, как подключиться к SQL Server, можно прочитать в теме обсуждения Metabase. Примечание. В v0.30.0 была исправлена проблема с динамической обработкой портов (особенно для людей, использующих именованные экземпляры).
Связанный: аккуратный ответ Stackru на Kerberos на Mac
Если вы подключаетесь к "Именованному экземпляру" ({SERVER_NAME}/{INSTANCE_NAME}) вместо "Экземпляра по умолчанию" ({SERVER_NAME}), возможно, ваш сервер настроен на использование динамического порта.
Быстрое исправление - вы можете найти текущий порт с помощью приведенных ниже сценариев, а затем использовать его в параметрах соединения Metabase. Но этот порт, скорее всего, изменится, когда произойдет перезапуск службы.
ВЫБЕРИТЕ DISTINCT local_tcp_port ОТ sys.dm_exec_connections ГДЕ local_tcp_port НЕ НУЛЬ
или же
USE master
GO
Xp_readerrorlog
(ищите строку "Сервер прослушивает...")
- Более чистым способом является установка порта для вашего экземпляра с помощью "Диспетчера конфигурации SQL Server" - "Конфигурация сети SQL Server" - "TCP/IP" - Свойства правой кнопки мыши - "Динамические порты TCP" (должно быть 0, и его следует удалить) и "Порт TCP" (здесь должен быть установлен новый порт по умолчанию). А также должна быть запущена служба "Браузер SQL Server". Более подробное объяснение здесь