我在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访问驱动程序,但如果我尝试MS访问,那么我就可以连接了。有什么建议吗?
答案 0 :(得分:10)
如果有疑问(并且涉及连接字符串):http://www.connectionstrings.com/
答案 1 :(得分:4)
在Windows 64位计算机上,请确保检查C#代码是否在x86(32位),x64或"任何CPU"中编译。请注意,如果编译为"任何CPU,"它默认选择x64位驱动程序。
可以在 C:\ windows \ SysWOW64 \ odbcad32.exe 中找到32位驱动程序。可以在 C:\ windows \ system32 \ odbcad32.exe 找到32位驱动程序。
首先,确保使用我之前提供的路径验证您的连接是否与ODBC数据源管理器一起使用。即制作DSN并按照Turbot的建议进行测试。验证此连接后,您的连接字符串可以使用您刚创建的DSN,也可以使用DSN免费连接字符串。
有关快速参考,以下是使用ODBC驱动程序的DSN空闲连接字符串示例:
Driver = {Progress OpenEdge 11.3 Driver}; HOST = wfdscr11.wf.local; Port = 1234; DB = MyDatabaseName; UID = John; PWD = Doe
在这个例子中,我必须从我的C#代码连接到Progress数据库,这是我使用的连接字符串,无需指定DSN。您可以在下面看到驱动程序的名称是" Progress OpenEdge 11.3 Driver。"
答案 2 :(得分:0)
我总是想在控制面板中使用数据源(ODBC)验证连接(假设您在窗口环境中)。确保在ODBC选择中看到驱动器可用,并按照步骤测试连接。
如上所述,连接字符串网站可以让您了解哪些属性和特定驱动程序连接的格式