SmartConnector Forum
Schneider Electric support forum about SmartConnector applications for integration of other building management systems (BMS) into EcoStruxure Building Operation.
Link copied. Please paste this link to share this article on your social media post.
Hello, I am trying to install smart connector on a windows server 2019 VM and the windows service won't start and is giving error code 1064. I have chosen SQL express and windows explicit as the login type during install.
The smart connectors intention is to read hotel room booking statuses from an oracle opera booking system and transfer the booking status of the room to EBO for the purpose of air conditioning control. Is it possible to do this on an AS-P (v3.2.3) only or is an ES required?
Thanks
Link copied. Please paste this link to share this article on your social media post.
Did you checked if the SmartConnector databases are created in the SQL?
This will tell you that the installation was done with correct SQL settings and all is setup correctly..
You can also check the logs in C:\ProgramData\SmartConnector\Logs to get more information about what might have gone wrong during setup / start of service.
For SmartConnector you don’t need an ES but you do need a Windows environment and a SQL to deploy the framework. Once deployed you can connect to an EWS server that can either be an ES or AS (Physical, Virtual and/or Containerized)
Link copied. Please paste this link to share this article on your social media post.
We have the same problem starting the service.
The SQL database is on a remote location so we used Authentication type: Windows Explicit.
Here is the log of the installation process:
2024-09-13 12:41:49.5361,Debug,Utility,<no principal>,PortalUserDbContext database not found,
2024-09-13 12:41:49.5361,Debug,Utility,<no principal>,Database Deleted,
2024-09-13 12:47:35.6729,Info,Utility,<no principal>,InstallDatabase,
2024-09-13 12:47:35.9697,Debug,Utility,<no principal>,Installing a new database:,0,2,databaseserver,SmartConnector,domain\user,*****,true,
2024-09-13 12:47:35.9697,Debug,Utility,<no principal>,Replacing encryption key,
2024-09-13 12:47:35.9697,Debug,Utility,<no principal>,UtilityConfigFilePath,C:\Program Files (x86)\Schneider Electric\SmartConnector\Mongoose.Utility.exe.config,
2024-09-13 12:47:35.9854,Debug,Utility,<no principal>,ServiceConfigFilePath,C:\Program Files (x86)\Schneider Electric\SmartConnector\Mongoose.Service.exe.config,
2024-09-13 12:47:35.9854,Debug,Utility,<no principal>,Updating connection strings for SqlServer,
2024-09-13 12:47:35.9854,Debug,Utility,<no principal>,SetConnectionStringInFile,C:\Program Files (x86)\Schneider Electric\SmartConnector\Mongoose.Utility.exe.config,SmartConnectorDb,Server=databaseserver;Database=SmartConnector.Service;User Id=domain\user;Password=*****,
2024-09-13 12:47:35.9854,Debug,Utility,<no principal>,SetConnectionStringInFile,C:\Program Files (x86)\Schneider Electric\SmartConnector\Mongoose.Service.exe.config,SmartConnectorDb,Server=databaseserver;Database=SmartConnector.Service;User Id=domain\user;Password=*****,
2024-09-13 12:47:35.9854,Debug,Utility,<no principal>,SetConnectionStringInFile,C:\Program Files (x86)\Schneider Electric\SmartConnector\Mongoose.Utility.exe.config,SmartConnectorUserDb,Server=databaseserver;Database=SmartConnector.User;User Id=domain\user;Password=*****,
2024-09-13 12:47:36.0010,Debug,Utility,<no principal>,SetConnectionStringInFile,C:\Program Files (x86)\Schneider Electric\SmartConnector\Mongoose.Service.exe.config,SmartConnectorUserDb,Server=databaseserver;Database=SmartConnector.User;User Id=domain\user;Password=*****,
2024-09-13 12:47:36.0010,Debug,Utility,<no principal>,Configuring SmartConnector service for remote SQL windows authentication,
2024-09-13 12:47:36.0635,Debug,Utility,<no principal>,Changed service user successfully,
2024-09-13 12:47:36.0635,Debug,Utility,<no principal>,Creating database for domain\user,
2024-09-13 12:47:36.0635,Debug,Utility,<no principal>,C:\Program Files (x86)\Schneider Electric\SmartConnector\Mongoose.Utility.exe,
2024-09-13 12:47:39.8448,Debug,Utility,<no principal>,Installation complete,
just replaced the username, password and database server address.
If we try to start the service manually, the following error pop up.
Any ideas?
Link copied. Please paste this link to share this article on your social media post.
Have you checked with SSMS if the 2 SmartConnector databases are created during setup ?
Look like the setup had insufficient rights to deploy the databases correctly.
If the database is not created, uninstall and reinstall with the correct permissions..
Link copied. Please paste this link to share this article on your social media post.
Thanks for your answer @Erwin-vd-Zwart, we now have SA rights on the user to deploy the databases, but now after the installation we have the following error starting the service:
Also did the following test with the user credentials:
Any suggestions?
Link copied. Please paste this link to share this article on your social media post.
Did you check with SQL Server Management Studio if the 2 databases (SmarConnector.User and SmartConnector.Service) are created and are holding tables?
Link copied. Please paste this link to share this article on your social media post.
Hello @Erwin-vd-Zwart they checked login in with the user credentials and created a database manually, but the two databases are not being created in the installation process of the smartconnector installer:
After checking user rights and roles, and connection between the servers, we tried again and the Log shows the following:
2024-09-17 12:40:49.5900,Debug,Utility,<no principal>,PortalUserDbContext database not found,
2024-09-17 12:40:49.5900,Debug,Utility,<no principal>,Database Deleted,
2024-09-17 12:45:29.3685,Info,Utility,<no principal>,InstallDatabase,
2024-09-17 12:45:29.6615,Debug,Utility,<no principal>,Installing a new database:,0,2,domain\dbserver,SmartConnector,domain\user,password,true,
2024-09-17 12:45:29.6635,Debug,Utility,<no principal>,Replacing encryption key,
2024-09-17 12:45:29.6635,Debug,Utility,<no principal>,UtilityConfigFilePath,C:\Program Files (x86)\Schneider Electric\SmartConnector\Mongoose.Utility.exe.config,
2024-09-17 12:45:29.6635,Debug,Utility,<no principal>,ServiceConfigFilePath,C:\Program Files (x86)\Schneider Electric\SmartConnector\Mongoose.Service.exe.config,
2024-09-17 12:45:29.6635,Debug,Utility,<no principal>,Updating connection strings for SqlServer,
2024-09-17 12:45:29.6795,Debug,Utility,<no principal>,SetConnectionStringInFile,C:\Program Files (x86)\Schneider Electric\SmartConnector\Mongoose.Utility.exe.config,SmartConnectorDb,Server=domain\dbserver;Database=SmartConnector.Service;User Id=domain\user;Password=password,
2024-09-17 12:45:29.6795,Debug,Utility,<no principal>,SetConnectionStringInFile,C:\Program Files (x86)\Schneider Electric\SmartConnector\Mongoose.Service.exe.config,SmartConnectorDb,Server=domain\dbserver;Database=SmartConnector.Service;User Id=domain\user;Password=password,
2024-09-17 12:45:29.6955,Debug,Utility,<no principal>,SetConnectionStringInFile,C:\Program Files (x86)\Schneider Electric\SmartConnector\Mongoose.Utility.exe.config,SmartConnectorUserDb,Server=domain\dbserver;Database=SmartConnector.User;User Id=domain\user;Password=password,
2024-09-17 12:45:29.6955,Debug,Utility,<no principal>,SetConnectionStringInFile,C:\Program Files (x86)\Schneider Electric\SmartConnector\Mongoose.Service.exe.config,SmartConnectorUserDb,Server=domain\dbserver;Database=SmartConnector.User;User Id=domain\user;Password=password,
2024-09-17 12:45:29.7125,Debug,Utility,<no principal>,Configuring SmartConnector service for remote SQL windows authentication,
2024-09-17 12:45:29.8375,Debug,Utility,<no principal>,Changed service user successfully,
2024-09-17 12:45:29.8375,Debug,Utility,<no principal>,Creating database for domain\user,
2024-09-17 12:45:29.8375,Debug,Utility,<no principal>,C:\Program Files (x86)\Schneider Electric\SmartConnector\Mongoose.Utility.exe,
2024-09-17 12:45:33.6205,Debug,Utility,<no principal>,Installation complete,
2024-09-17 12:45:34.3845,Trace,Database,<no principal>,Setting Database Execution Strategy to SqlAzureExecutionStrategy.,
2024-09-17 12:45:35.9725,Error,Service,<no principal>,Error while building type Mongoose.Service.LoggerFilterProvider. See the inner exception for details
1.) new LoggerFilterProvider()
2.) Mongoose.Service.LoggerFilterProvider
3.) Instance of SxL.Common.ILoggerFilterProvider (Mongoose.Service.LoggerFilterProvider)
4.) Container.GetInstance(SxL.Common.ILoggerFilterProvider)
Login failed for user 'domain\user'.
at lambda_method(Closure , IBuildSession , IContext )
at StructureMap.Building.BuildPlan.Build(IBuildSession session, IContext context)
at StructureMap.SessionCache.GetObject(Type pluginType, Instance instance, ILifecycle lifecycle)
at StructureMap.SessionCache.GetDefault(Type pluginType, IPipelineGraph pipelineGraph)
at StructureMap.Container.GetInstance(Type pluginType)
at StructureMap.Container.GetInstance[T]()
at Mongoose.Service.Mongoose.OnStart(String[] args)
,[],
2024-09-17 12:45:35.9915,Info,Service,<no principal>,Exception caught at service level.,
2024-09-17 12:45:35.9915,Error,Service,<no principal>,StructureMap.Building.StructureMapBuildException: Error while building type Mongoose.Service.LoggerFilterProvider. See the inner exception for details
1.) new LoggerFilterProvider()
2.) Mongoose.Service.LoggerFilterProvider
3.) Instance of SxL.Common.ILoggerFilterProvider (Mongoose.Service.LoggerFilterProvider)
4.) Container.GetInstance(SxL.Common.ILoggerFilterProvider)
---> System.Data.SqlClient.SqlException: Login failed for user 'domain\user'.
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext](TTarget target, Action`2 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
at System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection connection, DbInterceptionContext interceptionContext)
at System.Data.Entity.SqlServer.SqlProviderServices.<>c__DisplayClass60_0.<UsingConnection>b__0()
at System.Data.Entity.Infrastructure.DbExecutionStrategy.<>c__DisplayClass17_0.<Execute>b__0()
at System.Data.Entity.Infrastructure.DbExecutionStrategy.Execute[TResult](Func`1 operation)
at System.Data.Entity.SqlServer.SqlProviderServices.UsingMasterConnection(DbConnection sqlConnection, Action`1 act)
at System.Data.Entity.SqlServer.SqlProviderServices.CreateDatabaseFromScript(Nullable`1 commandTimeout, DbConnection sqlConnection, String createDatabaseScript)
at System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabase(DbConnection connection, Nullable`1 commandTimeout, StoreItemCollection storeItemCollection)
at System.Data.Entity.Migrations.Utilities.DatabaseCreator.Create(DbConnection connection)
at System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(Action mustSucceedToKeepDatabase)
at System.Data.Entity.Migrations.DbMigrator.Update(String targetMigration)
at System.Data.Entity.Internal.DatabaseCreator.CreateDatabase(InternalContext internalContext, Func`3 createMigrator, ObjectContext objectContext)
at System.Data.Entity.Database.Create(DatabaseExistenceState existenceState)
at System.Data.Entity.CreateDatabaseIfNotExists`1.InitializeDatabase(TContext context)
at System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action)
at System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization()
at System.Data.Entity.Internal.RetryAction`1.PerformAction(TInput input)
at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action`1 action)
at System.Data.Entity.Internal.InternalContext.ForceOSpaceLoadingForKnownEntityTypes()
at System.Data.Entity.DbContext.System.Data.Entity.Infrastructure.IObjectContextAdapter.get_ObjectContext()
at Mongoose.Service.Data.MongooseDbContext.WireUpEncryption()
at Mongoose.Service.Data.MongooseDbContext..ctor(Boolean automaticDecryption)
at Mongoose.Service.LoggerFilterProvider.Refresh()
at lambda_method(Closure , IBuildSession , IContext )
--- End of inner exception stack trace ---
at lambda_method(Closure , IBuildSession , IContext )
at StructureMap.Building.BuildPlan.Build(IBuildSession session, IContext context)
at StructureMap.SessionCache.GetObject(Type pluginType, Instance instance, ILifecycle lifecycle)
at StructureMap.SessionCache.GetDefault(Type pluginType, IPipelineGraph pipelineGraph)
at StructureMap.Container.GetInstance(Type pluginType)
at StructureMap.Container.GetInstance[T]()
at Mongoose.Service.Mongoose.OnStart(String[] args)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.ServiceProcess.ServiceBase.Run(ServiceBase[] services)
at Mongoose.Service.Program.Main(),
2024-09-17 12:46:21.7178,Trace,Database,<no principal>,Setting Database Execution Strategy to SqlAzureExecutionStrategy.,
2024-09-17 12:46:24.1728,Error,Service,<no principal>,Error while building type Mongoose.Service.LoggerFilterProvider. See the inner exception for details
1.) new LoggerFilterProvider()
2.) Mongoose.Service.LoggerFilterProvider
3.) Instance of SxL.Common.ILoggerFilterProvider (Mongoose.Service.LoggerFilterProvider)
4.) Container.GetInstance(SxL.Common.ILoggerFilterProvider)
Login failed for user 'domain\user'.
at lambda_method(Closure , IBuildSession , IContext )
at StructureMap.Building.BuildPlan.Build(IBuildSession session, IContext context)
at StructureMap.SessionCache.GetObject(Type pluginType, Instance instance, ILifecycle lifecycle)
at StructureMap.SessionCache.GetDefault(Type pluginType, IPipelineGraph pipelineGraph)
at StructureMap.Container.GetInstance(Type pluginType)
at StructureMap.Container.GetInstance[T]()
at Mongoose.Service.Mongoose.OnStart(String[] args)
,[],
2024-09-17 12:46:24.1818,Info,Service,<no principal>,Exception caught at service level.,
2024-09-17 12:46:24.1818,Error,Service,<no principal>,StructureMap.Building.StructureMapBuildException: Error while building type Mongoose.Service.LoggerFilterProvider. See the inner exception for details
1.) new LoggerFilterProvider()
2.) Mongoose.Service.LoggerFilterProvider
3.) Instance of SxL.Common.ILoggerFilterProvider (Mongoose.Service.LoggerFilterProvider)
4.) Container.GetInstance(SxL.Common.ILoggerFilterProvider)
---> System.Data.SqlClient.SqlException: Login failed for user 'domain\user'.
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext](TTarget target, Action`2 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
at System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection connection, DbInterceptionContext interceptionContext)
at System.Data.Entity.SqlServer.SqlProviderServices.<>c__DisplayClass60_0.<UsingConnection>b__0()
at System.Data.Entity.Infrastructure.DbExecutionStrategy.<>c__DisplayClass17_0.<Execute>b__0()
at System.Data.Entity.Infrastructure.DbExecutionStrategy.Execute[TResult](Func`1 operation)
at System.Data.Entity.SqlServer.SqlProviderServices.UsingMasterConnection(DbConnection sqlConnection, Action`1 act)
at System.Data.Entity.SqlServer.SqlProviderServices.CreateDatabaseFromScript(Nullable`1 commandTimeout, DbConnection sqlConnection, String createDatabaseScript)
at System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabase(DbConnection connection, Nullable`1 commandTimeout, StoreItemCollection storeItemCollection)
at System.Data.Entity.Migrations.Utilities.DatabaseCreator.Create(DbConnection connection)
at System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(Action mustSucceedToKeepDatabase)
at System.Data.Entity.Migrations.DbMigrator.Update(String targetMigration)
at System.Data.Entity.Internal.DatabaseCreator.CreateDatabase(InternalContext internalContext, Func`3 createMigrator, ObjectContext objectContext)
at System.Data.Entity.Database.Create(DatabaseExistenceState existenceState)
at System.Data.Entity.CreateDatabaseIfNotExists`1.InitializeDatabase(TContext context)
at System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action)
at System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization()
at System.Data.Entity.Internal.RetryAction`1.PerformAction(TInput input)
at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action`1 action)
at System.Data.Entity.Internal.InternalContext.ForceOSpaceLoadingForKnownEntityTypes()
at System.Data.Entity.DbContext.System.Data.Entity.Infrastructure.IObjectContextAdapter.get_ObjectContext()
at Mongoose.Service.Data.MongooseDbContext.WireUpEncryption()
at Mongoose.Service.Data.MongooseDbContext..ctor(Boolean automaticDecryption)
at Mongoose.Service.LoggerFilterProvider.Refresh()
at lambda_method(Closure , IBuildSession , IContext )
--- End of inner exception stack trace ---
at lambda_method(Closure , IBuildSession , IContext )
at StructureMap.Building.BuildPlan.Build(IBuildSession session, IContext context)
at StructureMap.SessionCache.GetObject(Type pluginType, Instance instance, ILifecycle lifecycle)
at StructureMap.SessionCache.GetDefault(Type pluginType, IPipelineGraph pipelineGraph)
at StructureMap.Container.GetInstance(Type pluginType)
at StructureMap.Container.GetInstance[T]()
at Mongoose.Service.Mongoose.OnStart(String[] args)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.ServiceProcess.ServiceBase.Run(ServiceBase[] services)
at Mongoose.Service.Program.Main(),
Link copied. Please paste this link to share this article on your social media post.
This won’t work as tables etcetara will not be created, remove the manual created DB’s, de-install SC framework, make sure you have enough permissions to let the installation create the DB and tables, install as admin and let the installation create the DB”s and tables.
Link copied. Please paste this link to share this article on your social media post.
Hello @Erwin-vd-Zwart.
What else could we try?
Link copied. Please paste this link to share this article on your social media post.
Check point 3 again because that’s where it must go wrong.. Seen that several times that IT claims you have enough permission but you don’t..
By the way i noticed the SQL is remote, is it express or full?
As far is i know only full can be remote and when using express it must be on the same server as the framework..
Also make sure there is no firewall blocking the connection to the remote SQL
Link copied. Please paste this link to share this article on your social media post.
After all, we installed an SQL Express on the same BMS server where the Smartconnector is running.
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.