使用 .NET 连接到 Informix
Posted
技术标签:
【中文标题】使用 .NET 连接到 Informix【英文标题】:Connecting to Informix using .NET 【发布时间】:2010-08-04 15:26:19 【问题描述】:服务器信息 Sun Microsystems Inc. SunOS 5.8 通用补丁 2001 年 10 月 服务器:Informix 动态服务器版本 7.31.UD3
信息:
链接:Connecting to Informix database from .Net 文章:http://www.ibm.com/developerworks/db2/library/techarticle/dm-0510durity/ 我正在运行 Visual Studio 2010 (C# 4.0)。 我不在乎是 ODBC 还是 OLE DB。 我卸载了所有用于 Informix 的客户端 SDK。我有现成的可供安装的 IBM Informix CSDK 3.5(文章在其示例中使用 2.9,但我在任何地方都找不到)。 我有文章中的示例代码。基本上,我无法成功连接到 Informix DB。我已经删除了客户端 SDK 的所有标志。在这一点上,我不知道该怎么做。我不知道我是否使用了正确版本的 ConnectionDriver,或者我是否可以以某种方式使用 dll 并在 VS.NET 内部设置连接,但似乎没有任何效果。任何只是获得工作连接的帮助都会很棒:
Sample Code(来自文章):
using System;
using IBM.Data.Informix;
namespace IfxAdoPres.Basics
public class BasicConnection
const string HOST = "192.168.OBFUSCATED";
const string SERVICENUM = "1525"; //Port?
const string SERVER = "serverOBFUSCATED";
const string DATABASE = "dbOBFUSCATEDy";
const string USER = "myusername";
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;
try
conn.Open();
Console.WriteLine("Made connection!");
catch (IfxException ex)
Console.WriteLine(e.ToString());
Console.ReadLine();
public void CloseConnection()
conn.Close();
【问题讨论】:
我认为 IfxConnection 是 IBM Informix .NET 提供者,而不是 OleDB 提供者,所以连接字符串略有不同 connectionstrings.com/informix#p46 但我不知道这是否重要。我很确定我已经使用 IfxConnection 和 OdbcDbConnection 完成了这项工作,但我没有代码可以提交抱歉 - 可能稍后再说。 好吧,我不知道为什么,但显然卸载并重新安装使它工作......不知道之前出了什么问题。我想我们可以将其标记为已关闭? 【参考方案1】:只需重新安装...删除所有旧驱动程序并安装全新的 3.5 CSDK,然后使用文章中的演示代码并使用 Setnet32 配置我的连接。
【讨论】:
我唯一可以补充的是,Windows 7 不能很好地与 IBM 的 64 位库配合使用。我已经多次重新安装。我想相信我的安装除了 Informix 坏了还有别的东西。在一个不相关的主题中,我必须手动将包含 .dll 的文件夹的路径添加到系统环境路径中(如程序文件/IBM SDK/Bin/netf20/dll)【参考方案2】:public void MakeConnection()
string ConnectionString = "Host=" + HOST + "; " +
"Service=" + SERVICENUM + "; " +
"Server=" + SERVER + "; " +
"Database=" + DATABASE + "; " +
"User Id=" + USER + "; " +
"Password=" + PASSWORD + "; ";
IfxConnection conn = new IfxConnection();
conn.ConnectionString = ConnectionString;
try
conn.Open();
Console.WriteLine("Made connection!");
Console.ReadLine();
catch (IfxException ex)
Console.WriteLine("Problem with connection attempt: "
+ ex.Message);
见:http://www.ibm.com/developerworks/data/library/techarticle/dm-0510durity/
【讨论】:
这与他已经拥有的代码相同(除了异常文本)以上是关于使用 .NET 连接到 Informix的主要内容,如果未能解决你的问题,请参考以下文章
使用 Active Directory 服务帐户从 .NET 连接到 SQL Server
使用 .Net Framework 连接到 Google Cloud SQL