跳至页脚内容
.NET 帮助

C# Devart.Data.Oracle(开发人员如何使用)

欢迎来到我们关于将C# Devart.Data.Oracle与IronPDF集成的完整解决方案教程,以创建综合应用程序,重点是基于Oracle的数据库应用程序。 本教程提供了一个为初学者设计的指南,旨在利用Oracle数据库的强大功能用于.NET Framework.NET Core项目。 Devart.Data.Oracle 是一个强大的数据提供程序,能够直接访问 Oracle 数据库。

C# Devart.Data.Oracle 是一个简化 Oracle 数据库操作的库。 这是为了需要与 Oracle 数据库交互的开发人员。 该库提供了高级功能。 它简化了数据库连接。 它增强了数据操作。 这使它成为C#开发人员的宝贵工具。

探索 IronPDF 的 PDF 生成功能,这是一个工具,允许 C# 开发人员创建、编辑和阅读 PDF 文件。 它可以轻松与 .NET 应用程序集成。 IronPDF帮助从HTML生成PDF。 它提供了一种以编程方式处理 PDF 文件的方法。

这两个工具用途不同。 C# Devart.Data.Oracle 专注于 Oracle 数据库交互。 IronPDF 专注于 PDF 文件操作。 两者结合提升了 C# 开发人员的能力。 它们解决了软件开发中的两个不同需求。 本文将主要关注 C# Devart.Data.Oracle。

开始使用 C# Devart.Data.Oracle

在 .NET 项目中设置 C# Devart.Data.Oracle

要开始使用著名的 Oracle 数据库提供程序 C# Devart.Data.Oracle,您首先需要通过 Visual Studio 的解决方案资源管理器将其添加到您的 .NET Core 项目中。 此过程非常简单。 进入 NuGet 程序包管理器。 搜索“Devart.Data.Oracle”。 安装程序包以利用 DotConnect for Oracle 和 Dataset 工具。 此操作会将库添加到您的项目中。 现在您可以开始使用其功能。

C# Devart.Data.Oracle(它如何为开发人员工作):图 1 - 在 Visual Studio 中通过 NuGet 程序包管理器搜索 Devart.Data.Oracle

基本代码示例

让我们看一个简单的示例。 这将演示如何连接到 Oracle 数据库。 我们将执行一个查询。 这是一个基本示例:

using Devart.Data.Oracle;
using System;

class Program
{
    static void Main()
    {
        // Define the connection string with placeholders for your specific database information
        var connectionString = "User Id=myUsername;Password=myPassword;Server=myServer;";

        // Establish a connection to the Oracle database
        using (var connection = new OracleConnection(connectionString))
        {
            connection.Open();

            // Execute a SQL command
            using (var command = new OracleCommand("SELECT * FROM myTable", connection))
            {
                using (OracleDataReader reader = command.ExecuteReader())
                {
                    // Read and print each row of the result set
                    while (reader.Read())
                    {
                        Console.WriteLine(reader["myColumn"].ToString());
                    }
                }
            }
        }
    }
}
using Devart.Data.Oracle;
using System;

class Program
{
    static void Main()
    {
        // Define the connection string with placeholders for your specific database information
        var connectionString = "User Id=myUsername;Password=myPassword;Server=myServer;";

        // Establish a connection to the Oracle database
        using (var connection = new OracleConnection(connectionString))
        {
            connection.Open();

            // Execute a SQL command
            using (var command = new OracleCommand("SELECT * FROM myTable", connection))
            {
                using (OracleDataReader reader = command.ExecuteReader())
                {
                    // Read and print each row of the result set
                    while (reader.Read())
                    {
                        Console.WriteLine(reader["myColumn"].ToString());
                    }
                }
            }
        }
    }
}
Imports Devart.Data.Oracle
Imports System

Friend Class Program
	Shared Sub Main()
		' Define the connection string with placeholders for your specific database information
		Dim connectionString = "User Id=myUsername;Password=myPassword;Server=myServer;"

		' Establish a connection to the Oracle database
		Using connection = New OracleConnection(connectionString)
			connection.Open()

			' Execute a SQL command
			Using command = New OracleCommand("SELECT * FROM myTable", connection)
				Using reader As OracleDataReader = command.ExecuteReader()
					' Read and print each row of the result set
					Do While reader.Read()
						Console.WriteLine(reader("myColumn").ToString())
					Loop
				End Using
			End Using
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

此代码片段通过正确的连接字符串进行增强。 它选择表中的数据并将列值打印到控制台。 将 myUsernamemyPasswordmyServermyTablemyColumn 替换为您的实际数据库详细信息。 这就是您使用 C# Devart.Data.Oracle 执行基本数据库操作的方法。

实施 Devart.Data.Oracle 的功能

直接模式

Devart.Data.Oracle 的一个显著特点,也是任何应用程序架构的重要组成部分,是直接模式。 它允许您的应用程序无需 Oracle 客户端即可处理 Oracle 数据库。 它简化了部署。 它减少了应用程序的整体占用空间。

var connectionString = "User Id=myUsername; Password=myPassword; Direct=True; Server=myServer;";
using (var connection = new OracleConnection(connectionString))
{
    connection.Open();
    // Use the connection
}
var connectionString = "User Id=myUsername; Password=myPassword; Direct=True; Server=myServer;";
using (var connection = new OracleConnection(connectionString))
{
    connection.Open();
    // Use the connection
}
Dim connectionString = "User Id=myUsername; Password=myPassword; Direct=True; Server=myServer;"
Using connection = New OracleConnection(connectionString)
	connection.Open()
	' Use the connection
End Using
$vbLabelText   $csharpLabel

本示例展示了如何启用直接模式。 在您的连接字符串中添加 Direct=True

高级实体框架支持

Devart.Data.Oracle 增强了实体框架(EF)操作。 它提供了更好的性能,并支持 EF Core 和 EF6。它提供了一系列针对 Oracle 的特定功能。

// Example assumes EF Core setup
using (var context = new MyDbContext())
{
    var data = context.MyEntities.Where(e => e.Property > 0).ToList();
    foreach (var item in data)
    {
        Console.WriteLine(item.Name);
    }
}
// Example assumes EF Core setup
using (var context = new MyDbContext())
{
    var data = context.MyEntities.Where(e => e.Property > 0).ToList();
    foreach (var item in data)
    {
        Console.WriteLine(item.Name);
    }
}
' Example assumes EF Core setup
Using context = New MyDbContext()
	Dim data = context.MyEntities.Where(Function(e) e.Property > 0).ToList()
	For Each item In data
		Console.WriteLine(item.Name)
	Next item
End Using
$vbLabelText   $csharpLabel

此代码使用 EF Core 获取数据。 将 MyDbContextMyEntitiesProperty 替换为您的实际上下文和实体名称。

批量操作

批量操作对于高性能数据操作至关重要。 Devart.Data.Oracle 提供了批量复制功能。 这对于大数据传输非常有用。

using (var connection = new OracleConnection(connectionString))
{
    connection.Open();
    using (var bulkCopy = new OracleBulkCopy(connection))
    {
        bulkCopy.DestinationTableName = "targetTable";
        bulkCopy.WriteToServer(dataTable);
    }
}
using (var connection = new OracleConnection(connectionString))
{
    connection.Open();
    using (var bulkCopy = new OracleBulkCopy(connection))
    {
        bulkCopy.DestinationTableName = "targetTable";
        bulkCopy.WriteToServer(dataTable);
    }
}
Using connection = New OracleConnection(connectionString)
	connection.Open()
	Using bulkCopy = New OracleBulkCopy(connection)
		bulkCopy.DestinationTableName = "targetTable"
		bulkCopy.WriteToServer(dataTable)
	End Using
End Using
$vbLabelText   $csharpLabel

此代码演示了批量数据插入。 将 targetTable 替换为您的目标表名称。 dataTable 应为您的数据源。

集成性能监控

性能监控内置于 Devart.Data.Oracle 中。 它允许您跟踪和优化数据库交互。

using System;
using Devart.Data.Oracle;

class Example
{
    static void Main()
    {
        // Enable monitoring
        using (var monitor = new OracleMonitor() { IsActive = true })
        {
            // Perform database operations here
            // Monitoring will log interactions
        }
    }
}
using System;
using Devart.Data.Oracle;

class Example
{
    static void Main()
    {
        // Enable monitoring
        using (var monitor = new OracleMonitor() { IsActive = true })
        {
            // Perform database operations here
            // Monitoring will log interactions
        }
    }
}
Imports System
Imports Devart.Data.Oracle

Friend Class Example
	Shared Sub Main()
		' Enable monitoring
		Using monitor = New OracleMonitor() With {.IsActive = True}
			' Perform database operations here
			' Monitoring will log interactions
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

启用 OracleMonitor 并将 IsActive 设置为 true。 这将开始监控您的数据库操作。

增强的 LINQ to SQL 支持

LINQ to SQL 将复杂查询转换为高效的 SQL。 Devart.Data.Oracle 提供了优化的 LINQ to SQL 功能。 它支持复杂查询和转换。

using (var context = new MyDbContext())
{
    var query = from e in context.MyEntities
                where e.PropertyName == "Value"
                select e;

    foreach (var item in query)
    {
        Console.WriteLine(item.Property);
    }
}
using (var context = new MyDbContext())
{
    var query = from e in context.MyEntities
                where e.PropertyName == "Value"
                select e;

    foreach (var item in query)
    {
        Console.WriteLine(item.Property);
    }
}
Using context = New MyDbContext()
	Dim query = From e In context.MyEntities
		Where e.PropertyName = "Value"
		Select e

	For Each item In query
		Console.WriteLine(item.Property)
	Next item
End Using
$vbLabelText   $csharpLabel

MyDbContextMyEntitiesPropertyNameProperty 替换为您的实际上下文、实体和属性名称。 此示例使用LINQ查询数据库。

这些功能中的每一个都增强了您的应用程序。 它们使您更高效地处理 Oracle 数据库。 您可以直接访问、高级 EF 支持、批量操作、性能监控和增强的 LINQ to SQL。

集成 IronPDF 和 Devart.Data.Oracle

IronPDF简介

C# Devart.Data.Oracle(它如何为开发人员工作):图 2 - IronPDF 主页

了解 IronPDF 的功能,它作为一个库提供一个简单而强大的目的:它允许开发人员在 .NET 应用程序中创建、编辑和提取 PDF 内容。 IronPDF 的真正魅力在于其易用性,提供了简单的方法来将 HTML 转换为 PDF——这是报告、发票和文档在 Web 应用程序中的常见需求。

IronPDF在HTML到PDF转换方面表现出色,确保精确保留原始布局和样式。 它非常适合从基于Web的内容中创建PDF,如报告、发票和文档。 利用对HTML文件、URL和原始HTML字符串的支持,IronPDF轻松生成高质量的PDF文档。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        // Initialize IronPDF's renderer
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        // Initialize IronPDF's renderer
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Initialize IronPDF's renderer
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

合并 IronPDF 与 Devart.Data.Oracle

想象一下,您正在从事一个项目,需要从存储在 Oracle 数据库中的数据生成报告,然后将该报告呈现为 PDF 文件。这里就是 IronPDF 和 Devart.Data.Oracle 的结合发挥作用的地方。 Devart.Data.Oracle 是一个高性能的 ADO.NET 提供程序,为开发人员提供了一种高效的方法,可以从 .NET 应用程序访问 Oracle 数据库。

用例的代码示例

让我们深入一个实际示例来说明这一过程。 假设我们在 Oracle 数据库中有一个名为 SalesReport 的表,并希望生成一个总结此数据的 PDF 报告。 首先,您需要通过 NuGet 安装 IronPDF 和 Devart.Data.Oracle 包。 这可以通过 NuGet 程序包管理器或通过程序包管理器控制台完成:

Install-Package IronPdf
Install-Package Devart.Data.Oracle
Install-Package IronPdf
Install-Package Devart.Data.Oracle
SHELL

接下来,您可以编写代码来从 SalesReport 表中获取数据并生成 PDF:

using Devart.Data.Oracle;
using IronPdf;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Connection string to Oracle Database
        var oracleConnectionString = "User Id=your_user;Password=your_password;Direct=True;Sid=your_sid;Server=your_server;";

        // SQL query to fetch data
        var sqlQuery = "SELECT * FROM SalesReport";

        // Initialize the Oracle connection
        using (var oracleConnection = new OracleConnection(oracleConnectionString))
        {
            oracleConnection.Open();

            // Execute the query
            using (var oracleCommand = new OracleCommand(sqlQuery, oracleConnection))
            {
                using (var reader = oracleCommand.ExecuteReader())
                {
                    // Initialize HTML content for PDF generation
                    var htmlContent = "<h1>Sales Report</h1><p>Generated on " + DateTime.Now + "</p>";

                    // Append database data to the HTML content
                    while (reader.Read())
                    {
                        htmlContent += $"<p>{reader["ItemName"]} - {reader["SaleAmount"]}</p>";
                    }

                    // Create a PDF from the HTML content using IronPDF
                    var renderer = new ChromePdfRenderer();
                    var pdf = renderer.RenderHtmlAsPdf(htmlContent);

                    // Save the PDF to a file
                    pdf.SaveAs("SalesReport.pdf");
                }
            }
        }

        Console.WriteLine("PDF generated successfully.");
    }
}
using Devart.Data.Oracle;
using IronPdf;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Connection string to Oracle Database
        var oracleConnectionString = "User Id=your_user;Password=your_password;Direct=True;Sid=your_sid;Server=your_server;";

        // SQL query to fetch data
        var sqlQuery = "SELECT * FROM SalesReport";

        // Initialize the Oracle connection
        using (var oracleConnection = new OracleConnection(oracleConnectionString))
        {
            oracleConnection.Open();

            // Execute the query
            using (var oracleCommand = new OracleCommand(sqlQuery, oracleConnection))
            {
                using (var reader = oracleCommand.ExecuteReader())
                {
                    // Initialize HTML content for PDF generation
                    var htmlContent = "<h1>Sales Report</h1><p>Generated on " + DateTime.Now + "</p>";

                    // Append database data to the HTML content
                    while (reader.Read())
                    {
                        htmlContent += $"<p>{reader["ItemName"]} - {reader["SaleAmount"]}</p>";
                    }

                    // Create a PDF from the HTML content using IronPDF
                    var renderer = new ChromePdfRenderer();
                    var pdf = renderer.RenderHtmlAsPdf(htmlContent);

                    // Save the PDF to a file
                    pdf.SaveAs("SalesReport.pdf");
                }
            }
        }

        Console.WriteLine("PDF generated successfully.");
    }
}
Imports Devart.Data.Oracle
Imports IronPdf
Imports System

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Connection string to Oracle Database
		Dim oracleConnectionString = "User Id=your_user;Password=your_password;Direct=True;Sid=your_sid;Server=your_server;"

		' SQL query to fetch data
		Dim sqlQuery = "SELECT * FROM SalesReport"

		' Initialize the Oracle connection
		Using oracleConnection As New OracleConnection(oracleConnectionString)
			oracleConnection.Open()

			' Execute the query
			Using oracleCommand As New OracleCommand(sqlQuery, oracleConnection)
				Using reader = oracleCommand.ExecuteReader()
					' Initialize HTML content for PDF generation
					Dim htmlContent = "<h1>Sales Report</h1><p>Generated on " & DateTime.Now & "</p>"

					' Append database data to the HTML content
					Do While reader.Read()
						htmlContent &= $"<p>{reader("ItemName")} - {reader("SaleAmount")}</p>"
					Loop

					' Create a PDF from the HTML content using IronPDF
					Dim renderer = New ChromePdfRenderer()
					Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)

					' Save the PDF to a file
					pdf.SaveAs("SalesReport.pdf")
				End Using
			End Using
		End Using

		Console.WriteLine("PDF generated successfully.")
	End Sub
End Class
$vbLabelText   $csharpLabel

在此示例中,我们首先使用 Devart.Data.Oracle OracleConnection 类设置到我们 Oracle 数据库的连接。 然后,我们使用一个简单的 SQL 查询从 SalesReport 表中获取数据。 为了演示的目的,获取的数据被转换为一个 HTML 字符串(在现实场景中,您将根据数据构建更复杂的 HTML 文档)。 最后,我们使用 IronPDF 的 ChromePdfRenderer 类将 HTML 字符串转换为 PDF 文档,然后将其本地保存。

结论

C# Devart.Data.Oracle(它如何为开发人员工作):图 3 - IronPDF 许可页面

结束本教程,可以清楚地看到将实体框架核心与 Devart.Data.Oracle 集成丰富了 Oracle 基于应用程序的开发。 这些技术在您的开发环境中的融合,通过 Visual Studio 引导,为创建强大、可扩展的应用程序打开了众多可能性。 对于希望深入 Oracle 基于应用程序的开发人员,利用实体框架核心的全面特性以及 DotConnect for Oracle 提供了坚实的基础。 您可以试用 IronPDF 的免费演示或查看定价,起价为 $799。

常见问题解答

如何在我的 .NET 项目中将 C# Devart.Data.Oracle 与 IronPDF 集成?

要在 .NET 项目中集成 C# Devart.Data.Oracle 和 IronPDF,首先在 Visual Studio 中通过 NuGet 包管理器安装这两个库。使用 Devart.Data.Oracle 连接并从 Oracle 数据库中获取数据,然后使用 IronPDF 将获取的数据转换为 PDF 文档。

在 Devart.Data.Oracle 中使用 Direct Mode 的优势是什么?

Devart.Data.Oracle 中的 Direct Mode 允许应用程序无需 Oracle 客户端软件即可连接到 Oracle 数据库,从而简化了部署并减少了整体应用程序的占用空间。

如何使用 .NET 将 HTML 内容转换为 PDF?

您可以使用 IronPDF 在 .NET 中将 HTML 内容转换为 PDF。利用ChromePdfRenderer类轻松将 HTML 字符串、文件或 URL 渲染为高质量的 PDF 文档。

Entity Framework 在 Devart.Data.Oracle 集成中的作用是什么?

将 Entity Framework 与 Devart.Data.Oracle 集成可以通过支持高级 Oracle 特定功能来增强性能。它允许开发人员利用复杂查询和转换等功能来实现高效的数据库操作。

如何使用 Devart.Data.Oracle 执行批量数据操作?

Devart.Data.Oracle 支持批量操作,例如批量复制,这对于高效传输大量数据非常有用。这些操作有助于优化 .NET 应用程序中的数据操作任务。

从 Oracle 数据库数据生成 PDF 报告涉及哪些步骤?

要从 Oracle 数据库数据生成 PDF 报告,请使用 Devart.Data.Oracle 获取所需数据,然后应用 IronPDF 格式化并将数据转换为 PDF 报告。

如何使用 Devart.Data.Oracle 增强数据库性能监控?

通过使用OracleMonitor类,增强 Devart.Data.Oracle 中的性能监控。将其IsActive属性设置为 true 以开始跟踪数据库交互并优化性能。

将 Devart.Data.Oracle 添加到 .NET 项目的过程是什么?

要将 Devart.Data.Oracle 添加到 .NET 项目中,请使用 Visual Studio 的 NuGet 包管理器。搜索 'Devart.Data.Oracle' 并安装以在您的应用程序中启用 Oracle 数据库功能。

开发人员为何应该考虑使用 LINQ to SQL 与 Devart.Data.Oracle 搭配使用?

开发人员应考虑使用 LINQ to SQL 与 Devart.Data.Oracle,因为它提供了优化的查询能力,并支持复杂的数据转换,增强了数据库交互的效率和性能。

如何在 .NET 应用程序中将 HTML 渲染为 PDF?

在 .NET 应用程序中,可以使用 IronPDF 的RenderHtmlAsPdf方法将 HTML 渲染为 PDF。此方法允许开发人员无缝地将 HTML 字符串或文件转换为 PDF。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。