通過ODBC接口訪問人大金倉數據庫


  國產化軟件和國產化芯片的窘境一樣,一方面市場已經存在性能優越的同類軟件,成本很低,但小眾的國產化軟件不僅需要高價買入版權,並且軟件開發維護成本高;另一方面,國產軟件目前普遍難用,性能不穩定,Bug滿天飛,雖然可以去迭代,但是沒有人願意耐心地等國產軟件迭代,甚至市場的生態不給國產軟件迭代的機會,選擇性忽視國產,國內公司也不會給工程師去試錯的機會,這直接限制了中國軟件的能力提升。
  雖然國產軟件處於劣勢,但是在涉及GJ安全的領域,國產化一詞是個香餑餑,處於強勢地位,尤其是中興事件以后,國產化會慢慢推進。我們是支持國產化的,但是希望國產化軟件能夠主動創新,不要活在ZF和TZ的庇護下,永遠長不大,偏安一隅,走不到市場去競爭。
  國產數據庫有達夢數據庫、人大金倉數據庫,本文主要講述人大金倉數據庫如何在windows 7/10操作系統上用C#編程語言通過ODBC接口訪問,來支持國產化。

人大金倉數據庫介紹

  北京人大金倉信息技術股份有限公司(簡稱:人大金倉)是中國自主研發數據庫產品和數據管理解決方案的領導企業,由中國人民大學及一批最早在國內開展數據庫教學、研究與開發的專家於1999年發起創立,至今已成功獲得中國電子科技集團(CETC)旗下的普華基礎軟件股份有限公司和太極計算機股份有限公司的戰略注資,被納入CETC集團的整體發展戰略。
  KingbaseES是人大金倉面向事務處理類、兼顧簡單分析類應用的數據庫產品,可承載各行業管理信息系統和業務生產系統的相關業務,可用於替代Oracle的大型通用關系型數據庫。(官網介紹,看看就好,明白怎么回事)
  因為人大金倉需要購買版權,現在網絡上流傳着一個古老的版本Kingbase ES V3.1,自備激活碼,本文以此數據庫為例,講述數據庫開發流程。

ODBC介紹

  人大金倉數據庫提供了基於開放數據庫連接(Open Database Connectivity, ODBC)的接口,ODBC為異構數據庫訪問提供統一接口,允許應用程序以SQL為數據存取標准,存取不同DBMS管理的數據,使應用程序直接操縱DB中的數據,免除隨DB的改變而改變。

軟件配置

  在安裝Kingbase ES V3.1時,請一定按照步驟安裝,這個版本比較古老,否則容易按照失敗,大概歸納為:

  • 打開setup文件夾后,運行setup,輸入序列號,安裝完成后如下圖所示:
  • 安裝完成后,運行前,在開始菜單打開數據庫初始化工具來初始化
  • 運行交互查詢工具,其中的用戶名是SYSTEM,密碼是MANAGER
  • 如果提示連接服務器啟動失敗,查看數據庫服務管理器是否啟動,啟動失敗是無法運行交互查詢工具的,如下圖所示:

      總之,數據庫安裝成功並建表后,如下圖所示,其中PUBLIC.MEMBERDB是本文根據演示需要建的表,儲存用戶信息。

創建ODBC

  安裝成功后,查看‪C:\Windows\SysWOW64\kodbc.dll是否存在,這是Kingbase和ODBC連接的驅動庫。
  因為數據庫軟件是32位的,在控制面板的管理工具中,打開ODBC數據源(32位),點擊用戶DSN中的添加,查看是否存在Kingbase ODBC driver,如果不存在的話,可以運行:C:\Windows\SysWOW64\odbcad32.exe,步驟和上面一樣。

  ODBC創建的具體步驟可以參考C#編程之ODBC連接數據庫數據源。ODBC創建成功后,可以點擊測試連接,會提示連接成功,如下圖所示。

C#開發

  本文提供了一個通過ODBC接口對Kingbase進行增刪查改的類,在Win7/Win 10測試中均正常。源代碼及數據庫下載
  在運行本文的示例程序中,注意首先建表和實現ODBC連接,然后修改連接數據庫的字符串,conStr = "Driver={Kingbase ODBC Driver};Server=W;Uid=SYSTEM;Pwd=MANAGER;Database=TEST;";
  此外,Kingbased的交互查詢工具中,右鍵點擊表有“腳本化到窗口”,可以生產數據庫操作的SQL語句,方便數據庫的開發。比如“SELECT "ID","NAME","PASSWORD","MAN","LEVEL","ADDTIME" FROM "PUBLIC"."MEMBERDB";”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM