A recent install of eConnect ran into a small issue; after the installation was complete, the eConnect service wouldn’t start. In the Windows Event Log there were two errors shown:
The first error wasn’t terribly useful, but the second had much more information:
Show/Hide Error Message
Event Type: Error
Event Source: Microsoft.Dynamics.GP.eConnect12
Event Category: None
Event ID: 0
Date: 28/01/2014
Time: 11:45:45
User: N/A
Computer:
Description:
Action:
Service Create
Current User Name:
DOMAIN\DynamicsGPUser
Input parameters:
Exception type:
System.Data.SqlClient.SqlException
Exception message:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
Stack Trace:
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity)
at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject)
at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout)
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()
at Microsoft.Dynamics.GP.eConnect.DatabaseConnectionProvider.CheckConnectionStatus(SqlConnection connection, String connectionString, Int32 currentDepth)
at Microsoft.Dynamics.GP.eConnect.DatabaseConnectionProvider.CheckConnectionStatus(SqlConnection connection, String connectionString, Int32 currentDepth)
at Microsoft.Dynamics.GP.eConnect.DatabaseConnectionProvider.CheckConnectionStatus(SqlConnection connection, String connectionString, Int32 currentDepth)
at Microsoft.Dynamics.GP.eConnect.DatabaseConnectionProvider.CheckConnectionStatus(SqlConnection connection, String connectionString, Int32 currentDepth)
at Microsoft.Dynamics.GP.eConnect.DatabaseConnectionProvider.CheckConnectionStatus(SqlConnection connection, String connectionString, Int32 currentDepth)
at Microsoft.Dynamics.GP.eConnect.DatabaseConnectionProvider.CheckConnectionStatus(SqlConnection connection, String connectionString, Int32 currentDepth)
at Microsoft.Dynamics.GP.eConnect.DatabaseConnectionProvider.CheckConnectionStatus(SqlConnection connection, String connectionString, Int32 currentDepth)
at Microsoft.Dynamics.GP.eConnect.DatabaseConnectionProvider.CheckConnectionStatus(SqlConnection connection, String connectionString, Int32 currentDepth)
at Microsoft.Dynamics.GP.eConnect.DatabaseConnectionProvider.CheckConnectionStatus(SqlConnection connection, String connectionString, Int32 currentDepth)
at Microsoft.Dynamics.GP.eConnect.DatabaseConnectionProvider.GetConnection(String connectionString)
at Microsoft.Dynamics.GP.eConnect.eConnectMethods.EntityImportImplementation(String connectionString, String sXML, Boolean isTransaction)
at Microsoft.Dynamics.GP.eConnect.eConnectMethods.ProcessEntityImport(String connectionString, String sXML, Boolean isTransaction)
at Microsoft.Dynamics.GP.eConnect.eConnectMethods.CreateEntity(String connectionString, String sXML)
at Microsoft.Dynamics.GP.eConnect.Service.CreateEntity(String ConnectionString, String sXML)
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
The full message is above, but the gist of it is that a connection to SQL Server could not be made.
When we investigated, we found problem was with the eConnect_Incoming.exe.config file where the Instance Name of the SQL Server had not been added to the data source. The screenshot below shows the config file with the added Instance Name highlighted:
Once the correct instance name (in the format of {IP Address/Server Name}\{Instance Name} was entered, eConnect successfully started.
What should we write about next?
If there is a topic which fits the typical ones of this site, which you would like to see me write about, please use the form, below, to submit your idea.
4 thoughts on “Error Installing eConnect”