跳過到頁腳內容
.NET幫助

C# Devart.Data.Oracle(對於開發者的運行原理)

歡迎來到我們的完整解決方案教程,關於如何將C# Devart.Data.Oracle與IronPDF集成以創建綜合應用程序,特別關注基於Oracle的數據庫應用程序。 本教程描述了一份指南,專為有興趣在他們的.NET Framework.NET Core項目中利用Oracle數據庫的力量的初學者設計。 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

要開始使用C# Devart.Data.Oracle,這是一個著名的Oracle數據庫提供程序,您首先需要通過Visual Studio的解決方案資源管理器將其添加到您的.NET Core項目中。 這過程很簡單。 進入NuGet包管理器。 搜索“Devart.Data.Oracle”。 安裝此包以利用DotConnect for Oracle和數據集工具。 此操作將庫添加到您的項目中。 現在您可以開始使用其功能。

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的簡單方法——這是網頁應用程序中報告、發票和文檔的常見要求。

IronPDF 在HTML 到 PDF轉換方麵表現出色,確保準確保持原始佈局和樣式。 它非常適合從網路內容生成 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許可頁面

總結這個教程,很明顯Entity Framework Core與Devart.Data.Oracle的結合豐富了Oracle基礎應用開發。 在您的開發環境中通過Visual Studio引導這些技術的結合,為創建強大、可擴展的應用程序開啟了許多可能性。 對於想深入研究Oracle基礎數據庫應用的開發者,利用實體框架Core的綜合特性以及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 的直接模式有什麼優勢?

Devart.Data.Oracle 的直接模式允許應用程式直接連接到 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 屬性設為真以開始跟蹤資料庫互動並優化效能。

向 .NET 專案添加 Devart.Data.Oracle 的過程是什麼?

要向 .NET 專案中添加 Devart.Data.Oracle,使用 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 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。