I am using the Teradata 13.10 virtual machine and I have assigned it a static IP address (192.168.88.10) for host only access. I am able to connect via BTEQ - .LOGON 192.168.88.10/dbc,dbc - and with SQL Assistant. When I try to connect via the .NET provider, I get an error saying that it cannot resolve 192.168.88.10 to an IP address.
Adding an entry to my hosts file or changing DNS configuration is not an option (locked down PC's in a corporate environment).
My code:
class Program { private static string server = "192.168.88.10"; private static string user = "dbc"; private static string password = "dbc"; static void Main(string[] args) { TdConnectionStringBuilder connstr = new TdConnectionStringBuilder(); connstr.DataSource = server; connstr.UserId = user; connstr.Password = password; connstr.AuthenticationMechanism = "TD2"; connstr.DataSourceDnsEntries = 0; connstr.ConnectionTimeout = 0; TdConnection tdConn = new TdConnection(); tdConn.ConnectionString = connstr.ConnectionString; tdConn.Open(); tdConn.Close(); }
The exact error I get:
{"[.NET Data Provider for Teradata] [115006] Could not resolve DataSource=[192.168.88.10] to an IpAddress.\r\n[.NET Data Provider for Teradata] [115006] Could not resolve DataSource=192.168.88.10 to an IpAddress."}
The connection string the above code yields:
Connection Timeout=0;Authentication Mechanism=TD2;User Id=dbc;Data Source=192.168.88.10;Password=dbc;Data Source DNS Entries=0
Teradata.Client.Provider Version 13.1.04
My best guess is that is trying to do a DNS resolution on the hostname 192.168.88.10 - which my DNS server knows nothing about. How do I get the .NET provider to connect directly to the IP address and skip name resolution?