Ошибка соединения с базой данных при регистрации программы.
- Настройка брандмауэра. Доступ по протоколу TCP через порт 1433.
При попытке
зарегистрировать лицензию на программу Смета 2007, может возникнуть ситуация, при которой вы увидите такое сообщение:
Сообщение об ошибке при отсутствии соединения с базой данных.
Дело в том, что в процессе регистрации, программа пытается установить соединение с базой данных SQL Server, находящейся на нашем сервере. Перед началом регистрации программа проверяет доступность соединения с этой базой данных и,
в случае, если установить соединение не удаётся, выводит это сообщение, в котором и указаны возможные причины возникновения этой ошибки.
- Первая причина, думаю, всем понятна и не требует комментариев.
- Со второй причиной - "Удалённый сервер недоступен" - вы ничего поделать не
можете, т.к. она имеет место быть тогда, когда возникают какие-то проблемы на
нашем сервере, что, кстати, случается крайне редко. В этом случае следует
просто подождать какое-то время и попытаться снова.
- Третья причина - "Брандмауэр или антивирус блокирует доступ по протоколу TCP через порт 1433" - это основная и самая распространённая причина, по которой вы
можете увидеть вышеприведённое сообщение.
Небольшая справка:
Клиентские системы используют порт TCP 1433 для подключения к системе управления базами данных SQL Server. TCP 1433 — порт, выбираемый для SQL Server по умолчанию.
Это официальный номер сокета IANA (агентство по выделению имен и уникальных параметров протоколов Интернета) для SQL Server.
Остановимся на этой причине подробнее и рассмотрим, на примере брандмауэра антивирусной программы Dr. Web, как настроить брандмауэр, чтобы он не блокировал нашей
сметная программа возможность выполнить необходимые действия.
Настройка брандмауэра. Доступ по протоколу TCP через порт 1433.
Откройте окно "Настройки", антивируса Dr. Web
Окно "Настройки" антивируса Dr. Web.
выберите пункт "Компоненты защиты", далее "Брандмауэр" и кликните на ссылке "Изменить доступ к сети для приложений".
Окно "Брандмауэр" антивируса Dr. Web.
Откроется окно "Приложения", в котором вы увидите список программ, для которых
определены некие "правила доступа к сетевым ресурсам".
Окно "Приложения" брандмауэра Dr. Web.
Нас интересует программа "EXCEL.EXE", которая должна быть в списке. Кроме того,
для этой программы должно быть настроено правило, которое, так или иначе,
разрешает программе EXCEL получать доступ к базе данных SQL Server через порт
1433 по протоколу TCP.
Подчеркну, НЕ программа Смета 2007 должна иметь доступ, а именно программа Excel, т.к.
программа для составления смет Смета 2007 работает "внутри" Excel.
Если приложение EXCEL.EXE в списке присутствует, дважды кликните на нём,
чтобы открыть окно "Редактирование набора правил для EXCEL.EXE":
Окно "Набор правил для приложения EXCEL.EXE".
Как видите, в данном случае, для приложения определено всего одно правило, причём,
оно сформировано брандмауэром автоматически и блокирует какие-то
пакеты.
Дважды кликните на этом правиле и, в открывшемся окне "Редактирование правила",
установите настройки так, как показано на рисунке:
Окно "Редактирование правила для приложения".
Установите Действие: "Разрешать пакеты", Тип соединения достаточно
установить как "Исходящее". Правило разрешает соединения как по протоколу TCP
(что нам и нужно), так и по протоколу UDP и, нужный нам порт - 1433 - находится
внутри разрешённого диаппазона (от 1025 до 65535). Нажмите Ок, чтобы сохранить
настройки.
Если же вы не нашли в списке приложения "EXCEL.EXE", его нужно добавить, и
определить для него соответствующее правило, например так:
Окно "Новое правило для приложения".
Как видите, это правило разрешает соединения для приложения EXCEL.EXE только
через нужный нам порт.
Случается так: и правило есть, и соединение оно вроде бы не блокирует, а
соединения, тем не менее, нет! В этом случае может помочь следующее: удалите
существующее правило и добавьте новое, определите настройки (пусть те же самые)
и сохраните изменения. В итоге, вроде бы, сделали всё то же самое, но, тем не
менее, всё начинает работать.
В брандмауэрах от других производителей, подобные настройки, думаю, производятся
аналогичным образом.
Блокировать доступ может и встроенный брандмауэр Windows. Проверьте, включён ли
он и каковы его настройки.
Не зависимо от используемого брандмауэра, суть остаётся одна:
для приложения EXCEL должен быть открыт порт 1433 по протоколу TCP!