成都网站建设设计

将想法与焦点和您一起共享

使用C#怎么连接Informix数据库-创新互联

使用C#怎么连接Informix数据库?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

目前成都创新互联公司已为近千家的企业提供了网站建设、域名、网页空间、网站托管、服务器租用、企业网站设计、沙市网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

Informix 数据库升级简介

Informix 数据库升级是指把使用的 Informix 数据库从低版本转化为高版本。对 Informix 数据库进行升级是一项系统工程,包括升级前的测试、升级前的检查、升级操作过程、升级后的测试、升级后的调优等。

Informix 数据库升级有两种类型:in-place 和 non-in-place。In-place 升级中,新版本的 Informix 使用的数据文件与旧版本的 Informix 相同,数据库管理员无需导出导入数据。Non-in-place 升级中,新版本的 Informix 使用的数据文件与旧版本的 Informix 不同,数据库管理员需要导出导入数据。

In-place 升级比较简单,升级操作时间短。non-in-place 升级比较复杂,升级操作时间长,所需的硬件资源多,风险较小。在一些情况下我们只能使用 non-in-place 升级,例如改变了硬件或操作系统。

两种类型的 Informix 数据库升级的示意图如图 1 所示。

图 1. 两种类型的 Informix 数据库升级的示意图

使用C#怎么连接Informix数据库

两种类型的 Informix 数据库升级的示意图

正文

最近在工作中遇到了需要连接Informix数据库的问题,在通过研究后发现了可以通过多种方式实现,我选择的是通过IBM Informix .NET Provider。该方式需要引用IBM.Data.Informix.dll。

using IBM.Data.Informix;
using System; 7 
namespace InformixLinkTest
{
 class Program
 {
  static void Main(string[] args)
  {
   try
   {
    // Open a connection
    IfxConnection conn = new IfxConnection(
    "Host=127.0.0.1;Service=9098;"
    + "Server=informixserver;Database=MyDatabase;"
    + "User ID=informix;password=MyPassword;db_locale=en_us.819"
    );
    conn.Open();
    IfxDataReader rd;
    using (IfxCommand cmd = conn.CreateCommand())
    {
     cmd.CommandText = "select * from simpletable";
     rd = cmd.ExecuteReader();
     rd.Read();
     do
     {
      if (rd.HasRows)
      {
       ///Assuming the table has two columns
       Console.WriteLine("{0}", rd[0]);
      }

     } while (rd.Read());
    }
    conn.Close();
   }
   catch (IfxException e)
   {
    Console.WriteLine(e.ToString());
    Console.ReadLine();
   }
 }
}

在调试过程中会发现出现异常(System.DllNotFoundException:“无法加载 DLL“IfxDotNetIntrinsicModule.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。”),具体如图:

使用C#怎么连接Informix数据库

通过提示可以看到找不到IfxDotNetIntrinsicModule.dll,我通过在安装Informix数据库的路径中找到了这个包放到了bin文件夹下后

使用C#怎么连接Informix数据库

就能正常运行了。

另一个问题就是在连接串中最开始db_locale的值我是给的utf8,按照这个也会出现异常情况,异常代码为(ERROR [HY000] [Informix .NET provider][Informix]Database locale information mismatch. ),截图如下:

使用C#怎么连接Informix数据库

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联成都网站设计公司行业资讯频道,感谢您对创新互联成都网站设计公司的支持。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、网站设计器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:使用C#怎么连接Informix数据库-创新互联
URL地址:http://chengdu.cdxwcx.cn/article/csdgcj.html