using System.Runtime.InteropServices;
ODBC_REMOVE_DEFAULT_DSN = 7
static void Main(string[] args)
var ex = UpdateDsnServer("nameTest", "serverStr", RequestFlags.ODBC_ADD_DSN);
Console.WriteLine("ex = " + ex);
static bool UpdateDsnServer(string name, string server, RequestFlags flag)
var dsnNameLine = "DSN=" + name;
var serverLine = "Server=" + server;
var configString = new[] { dsnNameLine, serverLine }.Aggregate("", (str, line) => str + line + "\0");
return SQLConfigDataSourceW(0, flag, "SQL Server", configString);
[DllImport("ODBCCP32.DLL", CharSet = CharSet.Unicode, SetLastError = true)]
static extern bool SQLConfigDataSourceW(UInt32 hwndParent, RequestFlags fRequest, string lpszDriver, string lpszAttributes);