问题描述
64系统下如何代码实现创建32位的odbc数据源?stringSQLSRV32dll=@"C:WINDOWSsystem32SQLSRV32.dll";boolis64Bit;is64Bit=Environment.Is64BitOperatingSystem;if(is64Bit)//64位的机器{SQLSRV32dll=@"C:WINDOWSSysWOW64SQLSRV32.dll";}RegistryKeyregKey=Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("ODBC").OpenSubKey("ODBC.INI",true).CreateSubKey(dsn);regKey.SetValue("Driver",SQLSRV32dll);regKey.SetValue("Server",server);regKey.SetValue("Database",database);regKey=Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("ODBC").OpenSubKey("ODBC.INI",true).CreateSubKey("ODBCDataSources");regKey=Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("ODBC").OpenSubKey("ODBC.INI",true).OpenSubKey("ODBCDataSources",true);regKey.SetValue(dsn,"SQLServer");
这样创建出来的还是64位的odbc,求专家指导
解决方案
解决方案二:
stringSQLSRV32dll=@"C:WINDOWSsystem32SQLSRV32.dll";boolis64Bit;is64Bit=Environment.Is64BitOperatingSystem;if(is64Bit)//64位的机器{SQLSRV32dll=@"C:WINDOWSSysWOW64SQLSRV32.dll";}RegistryKeyregKey=Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("ODBC").OpenSubKey("ODBC.INI",true).CreateSubKey(dsn);regKey.SetValue("Driver",SQLSRV32dll);regKey.SetValue("Server",server);这样创建出来的还是64位的odbc,求专家指导regKey.SetValue("Database",database);regKey=Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("ODBC").OpenSubKey("ODBC.INI",true).CreateSubKey("ODBCDataSources");regKey=Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("ODBC").OpenSubKey("ODBC.INI",true).OpenSubKey("ODBCDataSources",true);regKey.SetValue(dsn,"SQLServer");
解决方案三:
这样创建出来的还是64位的odbc,求专家指导啊
解决方案四:
SQLSRV32.dll是32位的话,创建出来就是32位64位机器上是可以运行32位的
解决方案五:
引用3楼lshfong的回复:
SQLSRV32.dll是32位的话,创建出来就是32位64位机器上是可以运行32位的
64位系统SQLSRV32dll=@"C:WINDOWSSysWOW64SQLSRV32.dll";这dll是62位odbc用的。现在就是想创建32位的odbc,你搞过不?
解决方案六:
引用3楼lshfong的回复:
SQLSRV32.dll是32位的话,创建出来就是32位64位机器上是可以运行32位的
64位系统SQLSRV32dll=@"C:WINDOWSSysWOW64SQLSRV32.dll";这dll是64位odbc用的。现在就是想创建32位的odbc,你搞过不?
解决方案七:
看不懂你贴出来的东西是在干嘛程序编译成32位用的就是32位的dll
解决方案八:
再项目属性里,编译的平台选择x86
解决方案九:
帮顶,不甚明了。