tags:

views:

2940

answers:

4

Is there any way to create a ODBC DSN with C#?

Maybe a P/invoke?

A: 

Following resources might be helpful:

MSDN:

How To Use the ODBC .NET Managed Provider in Visual C# .NET and Connection Strings

CodeProject.com

An ODBC (DSN/Driver) Manager DLL written in C#

You can try to invoke functions:

SQLWriteDSNToIni and ConfigDSN (MSDN links are dead for some reason, try to google by functions names)

aku
+1  A: 

You can use Registry classes to write the dsn info in the registry, under

HKLM\Software\ODBC\ODBC.INI\ODBC Data Sources

You'll need to check what values are needed for you ODBC driver.

Juanma
A: 

An example of the Registry Keys and Values required to create an ODBC Data Source for SQL Server can be found here.

Matthew Murdoch
A: 

Will this create a 32-bit or 64-bit ODBC source on 64-bit machines?

Kowalski