C# 如何使用c在Windows7 64位机器上创建32位系统DSN#

C# 如何使用c在Windows7 64位机器上创建32位系统DSN#,c#,32bit-64bit,dllimport,dsn,C#,32bit 64bit,Dllimport,Dsn,我需要在Windows7操作系统(64位)中以编程方式创建32位系统DSN。我使用了以下代码 [DllImport("ODBCCP32.DLL", CharSet = CharSet.Unicode, SetLastError = true)] private static extern bool SQLConfigDataSource(UInt32 hwndParent, RequestFlags fRequest,string lpszDriver, string lpszAttribute

我需要在Windows7操作系统(64位)中以编程方式创建32位系统DSN。我使用了以下代码

[DllImport("ODBCCP32.DLL", CharSet = CharSet.Unicode, SetLastError = true)]
private static extern bool SQLConfigDataSource(UInt32 hwndParent, RequestFlags fRequest,string lpszDriver, string lpszAttributes);

public static void CreateDSN() 
{
    string strDrivername = "SQL Server";
    string strConfig = "DSN=test6\0" +
                       "Database=Test\0" +
                       "Description=StackOverflow Sample\0" +
                       "Server=10.10.11.16\0" +                                     
                       "Trusted_Connection=Yes\0";

    bool success = SQLConfigDataSource(0, RequestFlags.ODBC_ADD_SYS_DSN, strDrivername, strConfig);
}
以上代码正在运行。但它正在创建64位ODBC系统DSN。请帮助我创建32位DSN

谢谢,
Karthik P

您使用的是64位版本的ODBCCP32.DLL。创建32位DSN需要使用32位版本。唯一的方法是将EXE项目的平台目标设置更改为x86。只要您硬编码,使用简单的.reg文件就是更简单的解决方案。