Прошу помочь!!!
При входе в систему выдает : Ошибка открытия конфигурации Named Pipes Provider: Could not open a connection to SQL Server [53]
На ноуте уст Windows 8 (64).
Нравится
Проверьте корректность заполненных данных:
- Название SQL сервера
- Название БД
Так же убедитесь, что на Вашей машине отключен firewall, и антивирус не блокирует порт 1433 (по умолчанию для SQL сервера)
Дополнительные ссылки на эту же тему:
Проверили корректность заполненных данных. Все в норме. Порт 1433 также не блокируется. Может еще какие варианты возможны?
Выполните такую последовательность действий:
- Запустите Terrasoft на сервере, для исключения неисправностей в сети
- При появление проблемы с подключением, необходимо проверить настройки SQL сервера
- При успешном подключение, необходимо проверить firewall на самом сервере
- Запустите Terrasoft на другой машине и попытайтесь выполнить вход в приложение
- При появлении проблемы, необходимо проверить настройки сети и настройки firewall
- При успешном подключение, необходимо посмотреть какие установлены настройки на текущей машине и перенести их на проблемую машину
- Установить на на проблемной машине SQL Management Studio или командную строку MS SQL и с помощью их выполнить подключение к БД
Ок. Это все проверим. Пока вот что заметил. Если запускать программу на сервере под терминальным доступом, то тоже ошибка, но если войти под другим пользователем, то все нормально работает и без проблем. Но под этим проблемным пользователем никак.
И еще. Остальные пользователи работают с других машин и под терминальным доступом без проблем.
Необходимо проверить на ограничения доступа проблемного пользователя
А не подскажете какие именно ограничения, т.к. права пользователя в ОС мы проверили сразу же. Там все ок.
Не смогу подсказать, т.к. это связно с администрированием системы и ни как не связано с Terrasoft.
Вам необходимо проверять связку: MS SQL + Проблемный пользовать.
Terrasoft только выдает сообщение, которое ему пришло в ответ
Итак пользователь проверен по доступу. Но вот в чем вопрос: если попробовать зайти под проблемным пользователем с другого ПК (на котором другой пользователь работает с terrasoft без проблем).
Если под проблемным пользователем вошли в Terrasoft на другом пк и все работает, значит, проблема в окружении.
Если лицензии конкуренты, то проверьте настройки конфигурации на проблемной машине, они должны быть идентичны с теми, которые указаны на машине где генерировались лицензии
Извините не дописал. В смысле на другой машине проблемный пользователь тоже не работает.
"Прошко Алексей Анатольевич" написал:Извините не дописал. В смысле на другой машине проблемный пользователь тоже не работает.
доменный пользователь что ли?
Может профиль пользователя в базе поврежден?
При повреждении профиля, была бы другая ошибка.
Запустите SQL Server Profiler и посмотрите на чем произойдет свал и попробуйте ее устранит.
Если возникнут сложности с запросами, можете обратиться в службу поддержки support@terrasoft.ru, для более оптимального и быстрого решения вопроса.
Большое спасибо. После проверки отпишусь о результатах.
"Прошко Алексей Анатольевич" написал:В смысле на другой машине проблемный пользователь тоже не работает
Вот это самое странное, так как ошибка в первом посте у вас 100% транспортного уровня. И связана она с конкретным пользователем Terrasoft ну никак не может быть.
Еще вариант включить для sql сервера в настройках протокол named pipes не предлагали?
А вообще наверное оптимально - удаленно суппорта пустите, все вам и настроят :)
Это тоже вариант. Как это лучше сделать и в какое время?
На этот вопрос смогут ответить в службе поддержки (support@terrasoft.ru)
Вообщем по совету техподдержки обновил бинарники и обновил заново лицензии. Все равно при входе проблемного пользователя выскакивает ошибка "Требуется объект..."
С Вами ведем общение в рамках обращения.
Это был только первый этап устранения проблемы.
Проблема решена.
Ее суть заключалась в том, что у Контакта пользователя не было заполнено поле [Часовой пояс]
Для выяснения выполняем загрузку окна wnd_Main или нет, была залогирована функция wnd_MainOnPrepare:
[javascript]
function wnd_MainOnPrepare(Window) {
Log.Write(1, 'wnd_MainOnPrepare: begin');
/* MODULE WORKFLOW */
DatasetTriggers.Load();
SetServicesEvents();
/* ENDMODULE WORKFLOW */
Log.Write(1, 'wnd_MainOnPrepare: CheckTimeZone');
CheckTimeZone();
Log.Write(1, 'wnd_MainOnPrepare: ReadSystemSettings');
ReadSystemSettings();
Initialize();
InitializeUserSettings(true);
InitializeCallClient();
FillReferencesDictionary();
CheckAnniversary();
if (!CheckWorkspacesAllowed()) {
return;
}
IntitializeTimer();
ActivateHyperlink();
InitializeJumpActions();
Log.Write(1, 'wnd_MainOnPrepare: end');
}
[/javascript]
После вывода сообщения: Log.Write(1, 'wnd_MainOnPrepare: CheckTimeZone'); мы не получили вывод сообщения Log.Write(1, 'wnd_MainOnPrepare: ReadSystemSettings');. Что и обозначило причину возникновения проблемы.
Функция CheckTimeZone() сервиса scr_Main, отвечают за установку текущему пользователю часовой пояс.
Решение:
[javascript]
function CheckTimeZone() {
var UserTimeZone = Connector.CurrentUser.TimeZone;
var SystemTimeZone = System.GetSystemTimeZone();
var TimeZoneEnum = GetSingleItemByCode('enm_TimeZone');
var EnmUserTimeZone = TimeZoneEnum.ItemsByCode(UserTimeZone);
if (IsEmptyValue(EnmUserTimeZone)) {
UserTimeZone = '';
}
if (!UserTimeZone) {
UserTimeZone = SystemTimeZone;
Connector.CurrentUser.TimeZone = UserTimeZone;
}
if (UserTimeZone == SystemTimeZone) {
return;
}
var Message = FormatStr(
"Часовой пояс системы: %1\rЧасовой пояс текущего контакта: %2\rИспользовать часовой пояс системы?",
GetTimeZoneFullCaption(SystemTimeZone), GetTimeZoneFullCaption(UserTimeZone));
if (ShowConfirmationDialog(Message) != wmrYes) {
return;
}
Connector.CurrentUser.TimeZone = SystemTimeZone;
var UpdateQuery = GetSingleItemByCode('uq_ContactTimeZone');
UpdateRecordField(UpdateQuery, Connector.CurrentUser.ContactID,
Array('TimeZone'), Array(SystemTimeZone));
}
[/javascript]