我用C#写了一个程序,用OdbcConnection拉取一些数据:
using System.Data.Odbc;
......
OdbcConnection OdbcConn =
new OdbcConnection(Properties.Settings.Default.ConnectionString);
OdbcCommand cmd = new OdbcCommand();
//open connection
if (OdbcConn.State != ConnectionState.Open)
{
OdbcConn.Open();
}在我的设置文件中,我有这个ConnectionString:
Dsn=****;uid=userID;pwd=password
但是,我无法建立连接。我安装了IBM公司的iseries access驱动程序,但如果我尝试MS access,则可以连接。有什么建议吗?
发布于 2012-02-22 04:03:03
当有疑问时(它涉及到连接字符串):http://www.connectionstrings.com/
发布于 2016-01-23 04:26:56
在Windows64位机器上,确保检查您的C#代码是用x86 (32位)、x64还是“任何CPU”编译的。请注意,如果编译为"Any CPU“,则默认情况下将选择x64位驱动程序。
可以在C:\windows\SysWOW64\odbcad32.exe.上找到32位驱动程序可以在C:\windows\system32\odbcad32.exe.上找到32位驱动程序
首先,确保使用我前面提供的路径验证与ODBC Data Source Administrator的连接是否正常。即按照Turbot的建议制作一个DSN并对其进行测试。验证此连接是否正常后,您的连接字符串可以使用刚创建的DSN,也可以使用空闲的DSN连接字符串。
为了快速参考,以下是使用ODBC驱动程序的DSN空闲连接字符串的示例:
进度Driver={
OpenEdge 11.3 Driver};HOST=wfdscr11.wf.local;Port=1234;DB=MyDatabaseName;UID=John;PWD=Doe
在本例中,我必须从我的C#代码连接到Progress数据库,这是我使用的连接字符串,而不必指定DSN。您可以在下面看到驱动程序的名称是"Progress OpenEdge 11.3 driver“。

发布于 2012-02-22 04:41:22
我总是喜欢使用控制面板中的数据源(ODBC)来验证连接(假设您在window环境中)。确保在您的ODBC选择中看到可用的驱动器,并按照步骤测试连接。
如上所述,连接字符串网站将为您提供关于哪种特定驱动程序连接的属性和格式
https://stackoverflow.com/questions/9384311
复制相似问题