CYQ.Data 支援 KingbaseES人大金倉資料庫

路过秋天發表於2024-03-10

KingbaseES人大金倉資料庫介紹:

KingbaseES是一種關係型資料庫管理系統,也被稱為人大金倉資料庫。KingbaseES 是北京人大金倉資訊科技股份有限公司研發的,具有自主智慧財產權的通用資料庫產品。

該產品面向事務處理類應用,兼顧各類資料分析類應用,可用做管理資訊系統、業務及生產系統、決策支援系統、多維資料分析、全文檢索、地理資訊系統、圖片搜尋等的承載資料庫。

作為KingbaseES產品系列最新一代版本,KingbaseESV8在系統的可靠性、可用性、效能和相容性等方面進行了重大改進。

以下是一些關於KingbaseES資料庫的特點和功能:

  1. 資料庫引擎:KingbaseES是基於開源資料庫PostgreSQL開發的,具備PostgreSQL的核心功能。它繼承了PostgreSQL的可靠性、穩定性和高度相容性,同時加入了自主創新的技術和功能。

  2. 相容性:KingbaseES與其他主流資料庫(如Oracle、SQL Server等)具有較高的相容性,可以遷移和執行現有的應用程式和資料庫物件。這使得企業能夠更容易地將現有的應用程式和資料遷移到KingbaseES上。

  3. 分散式儲存和高可用性:KingbaseES支援分散式資料庫和高可用架構,可以實現資料的分散式儲存和在多個節點之間的資料複製和同步,提供高可用性和容錯性。

  4. 安全性:KingbaseES提供了強大的安全性功能,包括角色和使用者管理、訪問控制、資料加密等,以確保資料庫的安全性和資料的保密性。

  5. 多語言支援:KingbaseES支援多種程式語言和開發工具,包括Java、C#、Python等,使得開發人員能夠使用自己熟悉的語言來開發和管理資料庫應用程式。

  6. 大資料處理:KingbaseES具備處理大規模資料和高併發訪問的能力,支援大資料處理和分析,適用於需要處理海量資料和高效能運算的場景。

總體而言,KingbaseES是一個功能強大、穩定可靠、相容性好的關係型資料庫管理系統。

它在中國企業和政府機構中得到廣泛應用,特別是那些希望建立在成熟開源技術基礎上,同時具備商業級支援和增強功能需求的組織。

CYQ.Data 框架簡介:

CYQ.Data 是一個高效能且功能強大的ORM(物件關係對映)框架,支援包括.NET Core在內的各種.NET版本。

它設計用於與多種資料庫如MSSQL、MySQL、Oracle、Sybase、PostgreSQL、DB2、FireBird、SQLite、DaMeng、KingBaseES等,以及格式如Txt、Xml、Access、Excel和FoxPro等工作。

該框架旨在透過提供寫日誌、操作JSON和分散式快取等功能,簡化資料層操作,無需額外的庫如Log4net.dll、newtonjson.dll或Memcached.ClientLibrary.dll。

該框架自豪於其低調但持續15年的更新,強調其長期可靠性和對開發人員尋找穩定且多功能ORM解決方案的支援。

前言:

去年有群友問我,CYQ.Data 支不支國產資料庫,那時候,沒支援,只是給了些提示,讓其自行透過開原始碼支援了。

後來問的人多了,就開始支援了。

CYQ.Data 從去年年底開始支援國產資料庫,下面就開始介紹相關內容。

1、開源地址:

https://github.com/cyq1162/cyqdata

2、 Nuget 引用

可以透過 nuget 管理器,直接搜 cyqdata,找到對應的 KingBaseES 版本,引入即可。

cyq.data 原始版本和 cyq.data.kingbasees 版本的區別:

cyq.data 原始版本:

  不包含其它資料庫驅動,需要自行引用對應資料的驅動:比如使用mysql資料庫時,需要再引用 mysql.data.dll 驅動。如果引用 cyq.data.mysql,則裡面包含了 mysql.data.dll 驅動。

cyq.data.kingbasees 版本:

  同樣,裡面整合了對應的資料庫驅動,不用再單獨引用。

3、支援的版本:

從下圖可以看如,由於官方驅動未支援.net 2.0的原因,因此從.net 4.0 一路支援到 .net 8 及以上。

4、資料庫連結語句:

隨便 CYQ.Data 支援的資料庫越多,有些資料庫的語句都一樣,無法再根據關鍵字資訊來識別,於是在語句上支援了provider:

連結語句示例:

provider=kingbasees;server=127.0.0.1;User Id=system;Password=123456;Database=test;Port=54321;schema=public;

連結語句配置:

{
  "ConnectionStrings": {
    "Conn": "provider=provider=kingbasees;server=127.0.0.1;User Id=system;Password=123456;Database=test;Port=54321;schema=public;"

  }
}

5、使用示例:

框架預設會引用配置中 Conn 的連結,所以在程式碼中無需指定。

1、無實體:

使用 MAction 操作表、檢視,帶分頁:

using (MAction action = new MAction("表名、檢視名、sql查詢語句"))
{
    MDataTable dt = action.Select(1, 10, "id>10");
}

使用 MProc 操作原始sql語句或儲存過程:

using (MProc proc=new MProc("sql語句、儲存過程名"))
{
    MDataTable dt = proc.ExeMDataTable();
}

2、有實體:

A、純實體

public class Users
{
    public int ID { get; set; }
    public string Name { get; set; }
}

使用:

List<Users> users=DBFast.Select<Users>(1,10,"id>10");

B、實體繼承自 CYQ.Data.Orm

public class Users:CYQ.Data.Orm.SimpleOrmBase<Users>
{
    public Users()
    {
        base.SetInit(this, "表名");
    }
    public int ID { get; set; }
    public string Name { get; set; }
}

使用:

using(Users user = new Users())
{
    List<Users> users = user.Select(1, 10, "id>10");
}

以上僅展示查詢功能,CYQ.Data 的操作,對十多種資料庫,操作都是一致的。

如果還沒有學過,可以看 CYQ.Data 相關教程。

1、V4 系列:https://www.cnblogs.com/cyq1162/category/216965.html

2、V5 系列:https://www.cnblogs.com/cyq1162/category/852300.html

6、KingBaseES 人大金倉資料庫的基礎說明:

在安裝或使用 KingBaseES 人大金倉資料庫時,可以透過安裝後的資料庫開發工具KStudio管理工具,來管理資料庫

啟動,輸入賬號進入介面後:

可以看到,預設都是小寫標識,語句的關鍵字,是透過雙引號包括起來。

而且和上篇文章介紹的:CYQ.Data 支援 DaMeng 達夢資料庫 明顯不同。

關鍵資訊:

1、KingBaseES 人大金倉資料庫 是多資料庫、多模式。
2、public
為預設模式,因此,預設情況下,我們可以在 public 模式下新建表即可。

一開始沒發現 public 是預設模式,都是新建模式在測試,這讓我在一開始的時候,有點繞。

重新看一下這個示例的資料庫連結語句:

provider=kingbasees;server=127.0.0.1;User Id=system;Password=123456;Database=test;Port=54321;schema=public;

從這個示例連結中,我們不僅要指定Database,同時也需要指定schema。

做為一篇介紹框架支援資料庫的文章,就不過多的介紹介紹資料庫本身了,有用到的,可以上官方瞭解更多。

總結:

CYQ.Data 是一個用於運算元據庫的框架,可以方便地連線和管理各種型別的資料庫。在操作 KingBaseES 人大金倉資料庫時,使用 CYQ.Data 框架可以提供以下功能和優勢:

  1. 連線資料庫:CYQ.Data 可以輕鬆地建立與 KingBaseE 資料庫的連線,透過簡單的配置即可實現連線功能,節省了開發人員的時間和精力。

  2. 執行 SQL 查詢:使用 CYQ.Data 可以方便地執行各種 SQL 查詢操作,包括查詢資料、更新資料、插入資料等,同時還支援事務處理,確保資料操作的準確性和完整性。

  3. 引數化查詢:CYQ.Data 支援引數化查詢,可以有效防止 SQL 注入攻擊,提高資料庫操作的安全性。

  4. 資料庫事務:透過 CYQ.Data 框架可以輕鬆管理資料庫事務,確保多個操作的原子性,避免資料不一致的情況發生。

總的來說,使用 CYQ.Data 框架操作 KingBaseES 資料庫可以簡化開發流程,提高開發效率,同時也增強了系統的穩定性和安全性。

相關文章