I am trying to use the Teradata .Net connector (v. 126.96.36.199) to establish a connection between my c# Windows application and a Teradata DBMS. I am not using the ODBC connector so there is no DSN associated with the connection.
We are testing this on a client system as we do not have a Teradata system in-house that uses LDAP for authentication. We cannot establish a connection using LDAP. However, the client is using a different application that connects through a Teradata ODBC-based connection with LDAP as the authentication mechanism.
I see some posts to this form that say this should just require a properly crafted connection string, e.g., http://forums.teradata.com/forum/connectivity/net-connection-string-with-ldap. I've tried this and whatever variation seemed feasible without success. (String is similar to: Authentication Mechanism=LDAP;User Id=dbc;Data Source=192.168.3.56;Password=dbc)
Other docs indicate that a custom assembly has to be created to provide AD attributes for the connector, e.g., http://www.info.teradata.com/HTMLPubs/DB_TTU_14_00/index.html#page/Database_Management/B035_1100_111.... Under the debugger, I can see that a test assembly so created was indeed being loaded at runtime by the connector. This direction leads to two problems: 1) having the user provide the AD attributes, and 2) dynamically creating the assembly on our client's installations because we're not going to separately create this assemblies for each of our customers.
My question is, from your experience, what is a reliable way to use LDAP in this systems? Am I missing something in trying to craft a simple connection string? The second method seems to provide AD info that would be necessary to connect via LDAP. However, it will take a bit of code to allow the user to enter their AD attributes and then generate an assembly on-the-fly. I'm almost at the point where I'm going to back out to the ODBC-based driver in the hopes that the ODBC driver setup will handle the LDAP issues.
If you are coding the app yourself you can use the Teradata.Client.Provider.TdConnectionStringBuilder. This has all the properties that let you build what you are wanting and formats the resulting connectionstring correctly.
If you need to create a Client Configuration file for LDAP, then you must create the configurtion for the ODBC Driver for Teradata and/or the .NET Data Provider for Teradata; two separate approaches but the results are the same (i.e. client side configuration). For the Data Provider, a Teradata Customer must create the Assembly and add it to the GAC. This assembly will be shared across all .NET Applications.
That said, LDAP does not usully require configuration on the Client-Side; because the Teradata Server binds to the Active Directory not the Client.
I suggest reading this page: http://developer.teradata.com/doc/connectivity/tdnetdp/15.00/webhelp/webframe.html#AuthenticationStr...
it will help you add the Domain to the user-id.