如何使用.NET连接到Informix?
问题描述:
背景资料:如何使用.NET连接到Informix?
- 的Visual Studio 2010(.NET Framework 4.0中)
- Informix服务器7.31
- 的Informix ClientSDK 3.50 TC7(Windows 32位)安装为好。
我已经尝试了多种方式建议在线连接到Informix服务器,但是无论出于何种原因,它们都不适用于我。我查看了Connect Informix with ADO.Net等文章,并使用ConnectionStrings.com生成连接字符串。
当我去到Visual Studio我做到以下几点:
- 服务器资源管理器
- 右键单击数据连接>添加连接...
- 微软ODBC数据源|用于ODBC的.NET Framework数据提供程序
- 使用连接字符串(使用ConnectionString网站复制/粘贴)。未找到错误[IM002] [微软] [ODBC驱动程序管理器]数据源名称和指定默认驱动程序:
- 测试连接
结果。
- 服务器资源管理器
- 右键单击数据连接>添加连接...
- 其他|用于ODBC的.NET Framework数据提供程序
- 使用连接字符串(使用ConnectionString网站复制/粘贴)。未找到错误[IM002] [微软] [ODBC驱动程序管理器]数据源名称和指定默认驱动程序:
- 测试连接
结果。
- 服务器资源管理器
- 右键单击数据连接>添加连接...
- 其他| .NET Framework数据提供OLE DB
- OLE DB提供程序:IBM Informix的OLE DB提供程序
- 数据链接...
结果:指定的程序无法找到。 (异常来自HRESULT:0x8007007F)
除此之外,我不知道该怎么真的填写在那里...
哦,我甚至试图用在first article提供的sample code,在我的连接信息替换:
- 主持人:服务器的IP
- SERVICENUM:端口号
- 服务器:该服务器名称
- 数据库:数据库我正在
- USER:用户ID
- PASS:我下载密码
示例代码/改变:
using System;
using IBM.Data.Informix;
namespace IfxAdoPres.Basics {
public class BasicConnection {
const string HOST = "192.168.OBFUSCATED";
const string SERVICENUM = "5000";
const string SERVER = "myServer";
const string DATABASE = "myDatabase";
const string USER = "myUserID";
const string PASSWORD = "myPassword";
public IfxConnection conn = new IfxConnection();
public BasicConnection() {}
public void MakeConnection() {
string ConnectionString = "Host = " + HOST + "; " +
"Service=" + SERVICENUM + "; " +
"Server=" + SERVER + "; " +
"Database=" + DATABASE + "; " +
"User Id=" + USER + "; " +
"Password=" + PASSWORD + "; ";
conn.ConnectionString = ConnectionString;
}
public void CloseConnection() {
conn.Close();
}
}
}
我上线conn.ConnectionString = ConnectionString的错误;异常状态为“无效参数”,没有InnerException(基本上非常没有帮助)。调用堆栈是:!
- Basics.exe IfxAdoPres.Basics.BasicConnection.MakeConnection()
- Basics.exe IfxAdoPres.Basics.Test.Main(字串[] args = {串[0]})
- [外部代码]
我坚持,而且不知道该怎么办...: -/
答
好了,我又回到了文章:http://www.ibm.com/developerworks/data/library/techarticle/dm-0510durity/
卸载完所有内容并重新开始之后,演示代码在安装IBM Informix Client SDK 3.5并使用Setnet32配置我的设置后似乎工作。
因为我最初安装了几个不同版本的Informix驱动程序,所以我必须弄坏某些东西。
我知道这是一个超级旧的帖子,你可能不记得但我有同样的问题。你碰巧记得,如果你不得不在你的项目引用中添加IBM.DATA.Informix?野外没有太多的信息......我安装了最新的客户端SDK,并试图设置一个模拟连接,只是为了打到应该触及catch的try catch,但是它抛出了与你无关的错误论点对我没有任何意义。 – Bowenac 2014-09-10 23:52:18