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 框架操作達夢資料庫可以簡化開發流程,提高開發效率,同時也增強了系統的穩定性和安全性。