CYQ.Data 是一個用於操作資料庫的框架,可以方便地連接和管理各種類型的資料庫。在操作達夢資料庫時,使用 CYQ.Data 框架可以提供以下功能和優勢......總的來說,使用 CYQ.Data 框架操作達夢資料庫可以簡化開發流程,提高開發效率,同時也增強了系統的穩定性和安全性。 ...
DaMeng 達夢資料庫介紹:
達夢資料庫(DMDB)是中國自主研發的關係型資料庫管理系統,由達夢科技股份有限公司開發。
達夢資料庫提供了企業級的資料庫解決方案,廣泛應用於金融、電信、政府、製造等行業領域。
達夢資料庫具有以下特點和優勢:
- 高性能:具備高性能的併發處理能力,能夠支持大容量和高併發的數據訪問需求。
- 高可靠性:採用了多種數據保護機制,包括事務管理、數據備份恢復等,保障數據安全和穩定性。
- 高可擴展性:支持集群部署和分散式架構,能夠靈活擴展以滿足不同規模的數據存儲需求。
- 相容性強:相容SQL標準,支持PL/SQL存儲過程和觸發器,同時也提供了豐富的工具和介面。
- 自主創新:在安全、性能、高可用性等方面不斷進行技術創新和研發,滿足用戶不斷變化的需求。
總體來說,達夢資料庫作為國產資料庫管理系統,在國內市場具有一定的地位和影響力,受到一些企業用戶的青睞和選擇。
CYQ.Data 框架簡介:
好幾年沒寫 CYQ.Data 框架的文章了,一直都在低調更新版本和源碼,這裡就簡單引用一下 GTP4 的介紹:
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 管理器,直接搜 cyq.data,找到對應的 DaMeng 版本,引入即可。
之前僅是發佈了 cyq.data 原始版本,沒有提供對應集成驅動的單獨版本,今年剛添加的,一添加就十來個,多了不少工作量。
cyq.data 原始版本和 cyq.data.dameng 版本的區別:
cyq.data 原始版本:
不包含其它資料庫驅動,需要自行引用對應數據的驅動:比如使用mysql資料庫時,需要再引用 mysql.data.dll 驅動。如果引用 cyq.data.mysql,則裡面包含了 mysql.data.dll 驅動。
cyq.data.dameng 版本:
同樣,裡面集成了對應的資料庫驅動,不用再單獨引用。
3、支持的版本:
從下圖可以看如,一如即往,從.net 2.0 一路支持到 .net 8 及以上。
4、資料庫鏈接語句:
隨便 CYQ.Data 支持的資料庫越多,有些資料庫的語句都一樣,無法再根據關鍵字信息來識別,於是在語句上支持了provider:
鏈接語句示例:
provider=dameng;user id=SYSDBA;password=123456789;data source=127.0.0.1;port number=3050;schema=test;
鏈接語句配置:
{ "ConnectionStrings": { "Conn": "provider=dameng;user id=SYSDBA;password=123456789;data source=127.0.0.1;port number=3050;schema=test;" } }
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、DaMeng 資料庫的基礎說明:
在安裝或使用 DaMeng 達夢資料庫時,可以通過安裝後的DM管理工具,來管理資料庫
啟動,輸入賬號進入界面後:
可以看到,預設都是大寫標識,語句的關鍵字,是通過雙引號包括起來。
可以看到,達夢和常規的資料庫比較不一樣,你可以這樣理解它:
1、單資料庫:
一個實例只有一個資料庫,一個進程或服務,只管理一個資料庫。
【對標以往其它資料庫,都是一個實例對應多個資料庫。】
因此,打開管理工具時,就沒能再看到新建資料庫這種常規操作,初入時,會有點MengBiBi。
2、多模式:
一對一的關係,讓實例即資料庫,可省掉了資料庫這個中間概念。
同時支持多種模式,通過新建模式,區分庫的概念,可理解為新建資料庫。
【對標有些資料庫:支持多資料庫和多模式,所以多模式又不完全是多資料庫的替代概念。】
基於它這種實例即資料庫的模式,因此資料庫鏈接中,不再需要指定資料庫名稱,但要指定模式名稱:
重新看一下這個示例的資料庫鏈接語句:
provider=dameng;user id=SYSDBA;password=123456789;data source=127.0.0.1;port number=3050;schema=test;
3、創建多個資料庫,需要創建新的實例:
通過DB資料庫配置助手,可以創建新的實例:
在創建實例過程中,還是可以看到資料庫名稱和實例名稱可以命名編寫的:
預設字元串查詢比較是區分大小寫的,如果不想區分,可以取消這個選項:
做為一篇介紹框架支持資料庫的文章,就不過多的介紹介紹資料庫本身了,有用到的,可以上官方瞭解更多。
總結:
CYQ.Data 是一個用於操作資料庫的框架,可以方便地連接和管理各種類型的資料庫。在操作達夢資料庫時,使用 CYQ.Data 框架可以提供以下功能和優勢:
-
連接資料庫:CYQ.Data 可以輕鬆地建立與達夢資料庫的連接,通過簡單的配置即可實現連接功能,節省了開發人員的時間和精力。
-
執行 SQL 查詢:使用 CYQ.Data 可以方便地執行各種 SQL 查詢操作,包括查詢數據、更新數據、插入數據等,同時還支持事務處理,確保數據操作的準確性和完整性。
-
參數化查詢:CYQ.Data 支持參數化查詢,可以有效防止 SQL 註入攻擊,提高資料庫操作的安全性。
-
資料庫事務:通過 CYQ.Data 框架可以輕鬆管理資料庫事務,確保多個操作的原子性,避免數據不一致的情況發生。
總的來說,使用 CYQ.Data 框架操作達夢資料庫可以簡化開發流程,提高開發效率,同時也增強了系統的穩定性和安全性。
版權聲明:本文原創發表於 博客園,作者為 路過秋天 本文歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則視為侵權。 |
個人微信公眾號 |
創業QQ群:617713515 |
Donation(掃碼支持作者):支付寶: |
Donation(掃碼支持作者):微信: |
騰訊雲產品福利專區 |