BluePrism connection to Teradata error odbc .net

Connectivity
Connectivity covers the mechanisms for connecting to the Teradata Database, including driver connectivity via JDBC or ODBC.
Highlighted
Enthusiast

BluePrism connection to Teradata error odbc .net

Hello,

We are attempting to connect BluePrism (robotic process automation tool) to Teradata but continue getting error:

"The .Net Framework Data Provider for OLEDB (System.Data.OleDb) does not support the Microsoft OLE DB Provider for ODBC Drivers (MSDASQL). Use the .Net Framework Data Provider for ODBC (System.Data.Odbc)"

Connection string: (verified in https://www.connectionstrings.com/teradata/)

"Provider=MSDASQL;Data Source=172.XX.**bleep**.XX ;User Id=user;Password=pwd"

 

Also attempted with Provider=TDOLEDB and system closes with no error provided. 

As next step, we've installed 15.11 .NET Framework but do not know how to retrieve the OdbcKey1 & 2

Driver={any odbc driver's name};OdbcKey1=someValue;OdbcKey2=someValue;

.NET Framework obtained from https://downloads.teradata.com/download/connectivity/net-data-provider-for-teradata

 

Questions:

Does anyone have feedback on the connection strings that we are attempting to use?

Any feedback on how to find the OdbcKeys for the .NET connection string?

Any opened feedback on what Provider may be most used for either most systems or BluePrism if possible? 

Tags (2)
1 REPLY 1
Teradata Employee

Re: BluePrism connection to Teradata error odbc .net

MSDASQL is a "bridge" between OLEDB and ODBC, and should not be specified directly.

TDOLEDB is 32-bit only so if BluePrism is 64-bit then that won't work. It has also been discontinued, so is not recommended if you are starting something new.

 

The cited website doesn't seem quite correct.

 

"Data Source=hostname or IP;User ID=user; Password=pwd;" seems right for .NET provider, but something would have to know to pass that to Teradata.Client.Provider.TdConnection. In other words, you would need some way in BluePrism to specify you want to use the Teradata provider; the name of the .NET provider is not part of the connection string. (The Provider keyword in a connection string indicates OLEDB.)

 

So perhaps your best bet is to use ODBC. You could preconfigure a data source in the ODBC Data Source Administrator control panel, then use a connection string like:

"DSN=your predefined name;UID=user;PWD=pwd;"

Or if you don't want to predefine a data source, you can use a different form of connection string. For TTU 15.x that would look something like:

"Driver={Teradata};DBCName=hostname or IP;UID=user;PWD=pwd;"

See the ODBC driver documentation at https://docs.teradata.com for additional option keywords.

 

The latest versions of Teradata ODBC drivers have more specific names, such as "Teradata Database ODBC Driver 16.20" instead of just "Teradata"; you can verify in ODBC control panel "Drivers" tab.