From b333c1ff74a2da1d4a42c683a3a08eb873b86b5f Mon Sep 17 00:00:00 2001 From: "yongjiang.qi" Date: Tue, 8 Jul 2025 16:40:41 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat(mogdb):=E6=96=B0=E5=A2=9Edonet?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1-development-based-on-donet.md | 222 ++++++++++++++++++ .../adonet.md | 6 +- 2 files changed, 226 insertions(+), 2 deletions(-) create mode 100644 product/zh/docs-mogdb/v5.0/developer-guide/dev/4.2-development-based-on-donet/1-development-based-on-donet.md diff --git a/product/zh/docs-mogdb/v5.0/developer-guide/dev/4.2-development-based-on-donet/1-development-based-on-donet.md b/product/zh/docs-mogdb/v5.0/developer-guide/dev/4.2-development-based-on-donet/1-development-based-on-donet.md new file mode 100644 index 00000000..a191a0d0 --- /dev/null +++ b/product/zh/docs-mogdb/v5.0/developer-guide/dev/4.2-development-based-on-donet/1-development-based-on-donet.md @@ -0,0 +1,222 @@ +--- +title: 基于.NET开发 +summary: 基于.NET开发 +author: liuwei qiyongjiang +date: 2025-07-09 +--- + +# **.NET驱动使用** + +## **.NET 4.8驱动使用** + +### **驱动文件** + +使用驱动包中netstandard2.0中的OpenGauss.NET.dll + +**图 1**OpenGauss.NET.dll + +![OpenGauss.NET.dll](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/development-based-on-donet-1.png) + +### **引入项目** + +创建.NET 4.8项目,右键点击项目 → 添加 → 引用,浏览找到库文件。 + +**图 2**引用OpenGauss.NET.dll + +![引用OpenGauss.NET.dll](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/development-based-on-donet-2.png) + +添加成功后如图3所示: + +**图 3**资源管理器查看引用 + +![资源管理器查看引用](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/development-based-on-donet-3.png) + +### **配置修改** + +**图 3**配置修改 + +![配置修改](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/development-based-on-donet-4.png) + +对应配置内容: + +```xml + + + + + +``` + +其他可能引用的库: + + ``` xml + + + + + + + + + + + + + + + + + + + + + + ``` + +在包管理中设置: + +**图 5**packages.config + +![packages.config](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/development-based-on-donet-5.png) + + ```xml + + + + + + + + + + + + + + + ``` + +### **代码引用** + +```c# +DbProviderFactory factory = DbProviderFactories.GetFactory("OpenGauss.NET"); +DbConnection connection = factory.CreateConnection(); +connection.ConnectionString = "Host=192.168.1.2;Database=postgres;Username=test;Password=test"; +connection.Open(); +``` + +### **代码举例** + + ```c# + using System; + using System.Collections.Generic; + using System.Data; + using System.Data.Common; + using System.Data.SqlClient; + using System.Linq; + using System.Text; + using System.Threading.Tasks; + using OpenGauss.NET; + + namespace ConsoleApp1 + { + class Program + { + static void Main(string[] args) + { + DbProviderFactory factory = DbProviderFactories.GetFactory("OpenGauss.NET"); + Console.WriteLine($"factory: {factory.ToString()}"); + using (DbConnection connection = factory.CreateConnection()) + { + // 设置连接字符串 + connection.ConnectionString = "Host=192.168.1.2;Database=postgres;Username=test;Password=test"; + try{ + // 打开连接 + connection.Open(); + Console.WriteLine("Connection opened successfully!"); + // 创建命令 + using (DbCommand command = factory.CreateCommand()) + { + command.Connection = connection; + command.CommandText = "SELECT * FROM t"; + DbDataAdapter daData = factory.CreateDataAdapter(); + daData.SelectCommand = command; + DataSet dataSet = new DataSet(); + daData.Fill(dataSet, "t"); + foreach (DataRow row in dataSet.Tables["t"].Rows) + { + Console.WriteLine($"{row["id"]} - {row["c"]}"); + } + } + } + catch (Exception ex){ + Console.WriteLine($"Error: {ex.Message} {ex.StackTrace}\n{ex.InnerException?.Message}"); + } + } + } + } + } + ``` + +## **.NET 6.0及以上版本驱动使用** + +### **驱动文件** + +使用驱动包中对应版本的OpenGauss.NET.dll (6以上版本使用net6.0版本) + +**图 6**OpenGauss.NET.dll-06 + +![OpenGauss.NET.dll-06](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/development-based-on-donet-6.png) + +### **引入项目** + +创建项目。 + +拷贝驱动文件到项目的lib目录下。 + +### **配置修改** + +**图 5**packages.config.06 + +![packages.config.06](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/development-based-on-donet-7.png) + + ```xml + + + Exe + net6.0 + enable + enable + + + + libs\OpenGauss.NET.dll + + + + ``` + +### **代码引用** + +```c# +DbProviderFactory factory = DbProviderFactories.GetFactory("OpenGauss.NET"); +``` + +### **代码例子**(创建DbProviderFactory ,其他代码参考.NET 4.8驱动使用步骤) + +```c# +using System; +using System.Data.Common; +using OpenGauss.NET; + +namespace PostgresCRUDExample +{ + class Program + { + static void Main(string[] args) + { + DbProviderFactory factory = DbProviderFactories.GetFactory("OpenGauss.NET"); + } + } +} +``` diff --git a/product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-programming-language-to-access-mogdb/adonet.md b/product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-programming-language-to-access-mogdb/adonet.md index 62d7e265..9fa3b62a 100644 --- a/product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-programming-language-to-access-mogdb/adonet.md +++ b/product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-programming-language-to-access-mogdb/adonet.md @@ -1,8 +1,8 @@ --- title: 使用.Net访问MogDB summary: 使用.Net访问MogDB -author: Guo Huan -date: 2022-07-28 +author: GuoHuan qiyongjiang +date: 2025-07-09 --- # 使用.Net访问MogDB @@ -14,3 +14,5 @@ Npgsql是用于PostgreSQL的开源.NET数据提供程序。它允许您使用.NE [源码地址](https://gitee.com/opengauss/openGauss-connector-adonet) [操作指导](https://gitee.com/opengauss/openGauss-connector-adonet/blob/master/README.md) + +关于使用.NET访问MogDB数据库的详细说明请参考《开发者指南》中基于[.NET](2-odbc-packages-dependent-libraries-and-header-files-TODO.md)开发章节的内容。 -- Gitee From 82fcfbf888b9d941fdef432db2baa45804ba006f Mon Sep 17 00:00:00 2001 From: "yongjiang.qi" Date: Tue, 8 Jul 2025 17:52:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat(mogdb):=E6=96=B0=E5=A2=9Edonet?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../use-programming-language-to-access-mogdb/adonet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-programming-language-to-access-mogdb/adonet.md b/product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-programming-language-to-access-mogdb/adonet.md index 9fa3b62a..be006fca 100644 --- a/product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-programming-language-to-access-mogdb/adonet.md +++ b/product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-programming-language-to-access-mogdb/adonet.md @@ -15,4 +15,4 @@ Npgsql是用于PostgreSQL的开源.NET数据提供程序。它允许您使用.NE [操作指导](https://gitee.com/opengauss/openGauss-connector-adonet/blob/master/README.md) -关于使用.NET访问MogDB数据库的详细说明请参考《开发者指南》中基于[.NET](2-odbc-packages-dependent-libraries-and-header-files-TODO.md)开发章节的内容。 +关于使用.NET访问MogDB数据库的详细说明请参考《开发者指南》中[基于.NET开发](../../../developer-guide/dev/4.2-development-based-on-donet/1-development-based-on-donet.md)章节的内容。 -- Gitee