Прошу помочь!!!
При входе в систему выдает : Ошибка открытия конфигурации 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:
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'); }
После вывода сообщения: Log.Write(1, 'wnd_MainOnPrepare: CheckTimeZone'); мы не получили вывод сообщения Log.Write(1, 'wnd_MainOnPrepare: ReadSystemSettings');. Что и обозначило причину возникновения проблемы.
Функция CheckTimeZone() сервиса scr_Main, отвечают за установку текущему пользователю часовой пояс.
Решение:
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)); }