000035456 - SQL datafeed gives ODBC error with TLS1.2 in RSA Archer 6.x

Document created by RSA Customer Support Employee on Sep 4, 2017Last modified by RSA Customer Support on Sep 17, 2019
Version 3Show Document
  • View in full screen mode

Article Content

Article Number000035456
Applies ToRSA Product Set: Archer
RSA Product/Service Type: Archer
RSA Version/Condition: 6.x
 
IssueThe ODBC Transporter feed will not work when TLS 1.0 is disabled in the environment.  The following error appears:
 
Unable to connect to database. Please ensure the connection string contains valid information.
Server does not exist or access denied.


  • Load fields error:

User-added image


  • Datafeed error:

Invalid DB query.  No data has been processed.
An unexpected error has occurred.
Server does not exist or access denied.

 


User-added image


  • Log error

<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">    
<System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
        <EventID>3</EventID>
        <Type>3</Type>
        <SubType Name="Error">0</SubType>
        <Level>2</Level>
        <TimeCreated SystemTime="2017-08-09T17:54:29.0469692Z" />
        <Source Name="ArcherTech.DataFeed" />
        <Correlation ActivityID="{06060ce5-743e-4630-94e9-9a4dbf44f8cd}" />
        <Execution ProcessName="ArcherTech.JobFramework.Job" ProcessID="30464" ThreadID="1" />         <AssemblyVersion>6.2.301.1003</AssemblyVersion>
        <Channel />
        <Computer>USGAYNEML1C</Computer>
    </System>
    <ApplicationData>
        <TraceData>
             <DataItem>
                <TraceRecord Severity="Error" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord">                    
<TraceIdentifier>ArcherTech.DataFeed</TraceIdentifier>
                    <Description>Unexpected error occurred while executing data feed.</Description>                     <AppDomain>ArcherTech.JobFramework.Job.exe</AppDomain>
                    <ContextData>
                        <LogReferenceId>080917-175429-0469</LogReferenceId>
                        <DataFeedId>4439</DataFeedId>
                        <DataFeedName>test</DataFeedName>                        
<DataFeedHistoryId>4418</DataFeedHistoryId>
                    </ContextData>
                    <Exception>
                        <ExceptionType>System.Data.Odbc.OdbcException, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
                        <Message>ERROR [08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. ERROR [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).</Message>
                        <Source>
                        </Source>
                        <StackTrace>

 


at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)  at System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
at System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions) 
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal&amp; connection)    
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)    
at System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)    
at System.Data.Odbc.OdbcConnection.Open()    
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)    
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)    
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)  
at ArcherTech.DataFeed.Transporters.DbQueryInfo.PerformQuery(NetworkCredentialWrapper credentials, Func`2 applyTokens, DataFeedContext context)    
at ArcherTech.DataFeed.Transporters.DbQueryTransporter.ExecuteInternal()    
at ArcherTech.DataFeed.ComponentModel.DataFeedActivity.Execute()</StackTrace>                     </Exception>
                </TraceRecord>
            </DataItem>
        </TraceData>
    </ApplicationData>
</E2ETraceEvent>
Cause
This error occurs if an old ODBC driver is used in datafeed. The old driver does not support turning off TLS1.0.
 


User-added image
ResolutionTo resolve the issue,
  1. Download the Microsoft ODBC Driver 11 for SQL Server to the webserver (or current SQL Server ODBC driver).
 

User-added image


  1. Replace the name in your connection string.

User-added image


 

Attachments

    Outcomes