Доброго времени суток.

Пытаюсь развернуть конфигурацию. Несколько раз перепроверил строку подключения, настройку веб-сокетов и т.д., не могу развернуть конфигурацию уже несколько дней с ошибкой "Недопустимое имя объекта "dbo.SysSettings".".

Может кто-нибудь подсказать, где по крайней мере искать проблему?

 

Лог прилагаю:

 

Недопустимое имя объекта "dbo.SysSettings".

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.



Exception Details: System.Data.SqlClient.SqlException: Недопустимое имя объекта "dbo.SysSettings".



Source Error:

 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.



Stack Trace:

 

[SqlException (0x80131904): Недопустимое имя объекта "dbo.SysSettings".]
   System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +3329424
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +334
   System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +4289
   System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() +89
   System.Data.SqlClient.SqlDataReader.get_MetaData() +101
   System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) +624
   System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) +3392
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) +725
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +84
   System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +312
   Polly.<>c__DisplayClass119_0`1.<Execute>b__0(Context ctx, CancellationToken ct) +23
   Polly.<>c__DisplayClass129_0`1.<ExecuteInternal>b__0(Context ctx, CancellationToken ct) +22
   Polly.<>c__DisplayClass103_0.<NoOp>b__1(Context ctx, CancellationToken ct) +18
   Polly.NoOp.NoOpEngine.Implementation(Func`3 action, Context context, CancellationToken cancellationToken) +17
   Polly.<>c.<NoOp>b__103_0(Action`2 action, Context context, CancellationToken cancellationToken) +105
   Polly.Policy.ExecuteInternal(Func`3 action, Context context, CancellationToken cancellationToken) +156
   Polly.Policy.Execute(Func`3 action, Context context, CancellationToken cancellationToken) +113
   Polly.Policy.Execute(Func`1 action) +211
   Terrasoft.DB.MSSql.MSSqlExecutor.FailoverExecute(DbCommand command, Func`1 func) +96
   Terrasoft.Core.DB.DBExecutor.FailoverExecuteReader(DbCommand command, Func`1 func) +55
   Terrasoft.Core.DB.DBExecutor.ExecuteCommand(Func`2 commandExecutionCallback, String sqlText, QueryParameterCollection queryParameters, CancellationToken cancellationToken) +622
   Terrasoft.Core.DB.DBExecutor.InternalExecuteReader(String sqlText, QueryParameterCollection queryParameters, CommandBehavior behavior, CancellationToken cancellationToken) +142
   Terrasoft.Core.DB.DBExecutor.InternalExecuteReader(String sqlText, QueryParameterCollection queryParameters) +25
   Terrasoft.Core.SystemSettings.DbLoaders.SysSettingsMetaDataLoader.Load(String key) +72
   Terrasoft.Core.SystemSettings.DataProvider.DbItem`2.TryGet(TKey key, TValue& value) +13
   Terrasoft.Core.SystemSettings.Objects.SysSettingsMetaData.Fetch(String code) +103
   Terrasoft.Core.SystemSettings.Objects.SysSettingsMetaData.Fetch(UserConnection userConnection, String code) +54
   Terrasoft.Core.SystemSettings.SysSettingsEngine.TryGetDefaultSettingsValue(String code, Object& value) +29
   Terrasoft.Core.UserConnection.GetDefaultTimeZone(TimeZoneInfo timeZone) +84
   Terrasoft.Core.SystemUserConnection.InitializeCurrentUser(String userName, TimeZoneInfo timeZone, String clientIP, String agent, Boolean needRegisterSessionStart) +384
   Terrasoft.Core.SingleInstanceSystemUserConnectionProvider.Initialize(Boolean doLogin) +124
   Terrasoft.Core.AppConnection.InitializeSystemUserConnection(ConfigurationSection schemaManagerProviderConfigurationSection) +54
   Terrasoft.Core.AppConnection.Initialize() +493
   Terrasoft.WebApp.Loader.Global.InitializeAppConnection() +152
   Terrasoft.WebApp.Loader.Global.Application_Start(Object sender, EventArgs e) +233
 
[HttpException (0x80004005): Недопустимое имя объекта "dbo.SysSettings".]
   System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +546
   System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +171
   System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +173
   System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +255
   System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +347
 
[HttpException (0x80004005): Недопустимое имя объекта "dbo.SysSettings".]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +552
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +122
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +737

Нравится

1 комментарий
Лучший ответ

Неверное название базы данных указали. Ради эксперимента изменил в  ConnectionStrings.config рабочей системы название БД (Initial Catalog) на master и получил ту же ошибку. Нужно указывать имя БД, которую вы развернули из бекапа.

Неверное название базы данных указали. Ради эксперимента изменил в  ConnectionStrings.config рабочей системы название БД (Initial Catalog) на master и получил ту же ошибку. Нужно указывать имя БД, которую вы развернули из бекапа.

Показать все комментарии

Добрый день

Возникла проблема при разворачивании бпм на сервере. Нужно продублировать существующее приложение на этом же сервере. Скопировала папку, добавила сайт в иис, дала доплонительные разшешения на папку, перевела с https на http. Перенастроила на другую базу из бэкапа. Аутентификацию прохожу, а сам бпм не загружается. В консоли такое:

POST http://localhost:84/0/DataService/json/SyncReply/QueryProfile 403 (Forbidden)

POST http://localhost:84/0/DataService/json/SyncReply/QueryProfileKeys 403 (Forbidden)

POST http://localhost:84/0/DataService/json/SyncReply/PostClientLog 403 (Forbidden)

Хотя такого пути нет - /0/DataService/json/SyncReply/PostClientLog. В логах ничего полезного не нашла. Даже не знаю, куда дальше копать. Какая-то настройка мешает, может, наоборот чего-то не хватает

Нравится

8 комментариев

Здравствуйте! 403 - это Вы не авторизовались для выполнения запросов к системе для начала нужно авторизоваться в системе, взять куки авторизации + в заголовки POST запроса добавить CSRF-token пришедший в при авторизации. Прочтите данную статью

Нигрескул Алексей,

спасибо за ответ. Но не понимаю, зачем постманом запросы отправлять и какие, вход в систему? Ошибки выше появляются в консоли браузера после входа в приложение, т.е. аутентификацию я, скорее всего, прохожу. А вот с post запросом пробовала через сервис authservice.svc программно логиниться и запрос возвращает все нужные куки

Лисовец Татьяна,

Вы имеете в виду авторизацию проходите при помощи написанной консольный программы c# ? Если так, то как я и писал, куки возвращаемые после аутентификации нужно сохранять в coockiecontainer и использовать в следующем запросе

Вот ещё одна статья там есть пример с авторизацией https://academy.terrasoft.ru/documents/technic-sdk/7-16/vybor-sposoba-i…

Не-не-не )), не консольная с#, устанавливаю приложение на сервере. Запускаю его в браузере, логинюсь и после логина пустая страница с логотипом, нет разделов, меню и т.д., а в консоли браузера такие  вот ошибки

Татьяна, такое бывает если сторонняя программа подключается по интеграции и не имеет CSRF-токена. Для того, чтобы её отключить необходимо в web-конфиге загрузчика изменить значение настройки UseCsrfToken на false. 

 

Другое дело, почему это Вы видите в браузере. Возможно, второй сайт неправильно настроен:  забыли указать разные пул, папку приложения для /0/ или базу Redis? Проверьте, всё ли различное у первого и второго сайтов.

Спасибо, Александр. UseCsrfToken - дело было в нем

Учтите, этот режим добавлен не просто так, он нужен для защиты от межсайтовой подделки запроса.

Показать все комментарии