Проверка наличия установки SQL Server с использованием Java - PullRequest
0 голосов
/ 12 августа 2011

Я пытаюсь написать программу на Java, которая должна проверить, установлен ли SQL Server (2008) на определенную машину. Является ли проверка записи реестра единственным решением? Я предпочитаю файловое решение.

В настоящее время я проверяю наличие OSQL.exe (которое я использую для выполнения запросов и сценариев SQL) в папке <Installation Path>\100\Tools\Binn. Что указывает 100? Может ли он быть жестко запрограммирован в программе, или мне придется искать файл OSQL.exe, начиная с пути установки?

Ответы [ 2 ]

0 голосов
/ 12 августа 2011

Ваш вопрос немного неясен, в частности, неочевидно, нужно ли перечислять локальные и / или удаленные экземпляры? Для локальных экземпляров поиск в реестре более надежен, чем сканирование файловой системы, для удаленных экземпляров sqlcmd.exe может перечислить экземпляры в сети. Эта страница дает хороший обзор вариантов (для 2005 года, но они все еще действительны для 2008 года).

Если вы можете вызвать .NET из Java , вы можете использовать объект Smo Server, чтобы получить много информации об экземплярах, включая пути установки. На этом сайте много вопросов о перечислении экземпляров и сборе информации о них.

Наконец, обратите внимание, что osql.exe устарел , поэтому вместо него следует использовать sqlcmd.exe.

0 голосов
/ 12 августа 2011

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

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