使用C#怎么連接Informix數(shù)據(jù)庫

使用C#怎么連接Informix數(shù)據(jù)庫?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供冷水江企業(yè)網(wǎng)站建設,專注與成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設HTML5建站、小程序制作等業(yè)務。10年已為冷水江眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡公司優(yōu)惠進行中。

Informix 數(shù)據(jù)庫升級簡介

Informix 數(shù)據(jù)庫升級是指把使用的 Informix 數(shù)據(jù)庫從低版本轉(zhuǎn)化為高版本。對 Informix 數(shù)據(jù)庫進行升級是一項系統(tǒng)工程,包括升級前的測試、升級前的檢查、升級操作過程、升級后的測試、升級后的調(diào)優(yōu)等。

Informix 數(shù)據(jù)庫升級有兩種類型:in-place 和 non-in-place。In-place 升級中,新版本的 Informix 使用的數(shù)據(jù)文件與舊版本的 Informix 相同,數(shù)據(jù)庫管理員無需導出導入數(shù)據(jù)。Non-in-place 升級中,新版本的 Informix 使用的數(shù)據(jù)文件與舊版本的 Informix 不同,數(shù)據(jù)庫管理員需要導出導入數(shù)據(jù)。

In-place 升級比較簡單,升級操作時間短。non-in-place 升級比較復雜,升級操作時間長,所需的硬件資源多,風險較小。在一些情況下我們只能使用 non-in-place 升級,例如改變了硬件或操作系統(tǒng)。

兩種類型的 Informix 數(shù)據(jù)庫升級的示意圖如圖 1 所示。

圖 1. 兩種類型的 Informix 數(shù)據(jù)庫升級的示意圖

使用C#怎么連接Informix數(shù)據(jù)庫

兩種類型的 Informix 數(shù)據(jù)庫升級的示意圖

正文

最近在工作中遇到了需要連接Informix數(shù)據(jù)庫的問題,在通過研究后發(fā)現(xiàn)了可以通過多種方式實現(xiàn),我選擇的是通過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();
   }
 }
}

在調(diào)試過程中會發(fā)現(xiàn)出現(xiàn)異常(System.DllNotFoundException:“無法加載 DLL“IfxDotNetIntrinsicModule.dll”: 找不到指定的模塊。 (異常來自 HRESULT:0x8007007E)。”),具體如圖:

使用C#怎么連接Informix數(shù)據(jù)庫

通過提示可以看到找不到IfxDotNetIntrinsicModule.dll,我通過在安裝Informix數(shù)據(jù)庫的路徑中找到了這個包放到了bin文件夾下后

使用C#怎么連接Informix數(shù)據(jù)庫

就能正常運行了。

另一個問題就是在連接串中最開始db_locale的值我是給的utf8,按照這個也會出現(xiàn)異常情況,異常代碼為(ERROR [HY000] [Informix .NET provider][Informix]Database locale information mismatch. ),截圖如下:

使用C#怎么連接Informix數(shù)據(jù)庫

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

網(wǎng)站題目:使用C#怎么連接Informix數(shù)據(jù)庫
文章來源:http://www.muchs.cn/article20/jpjijo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站品牌網(wǎng)站建設、企業(yè)網(wǎng)站制作網(wǎng)站導航、云服務器電子商務

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)