跳過到頁腳內容
.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 和 Dataset 工具。 此動作會將函式庫新增至您的專案。 現在您可以開始使用其功能。

C# Devart.Data.Oracle (How It Works For Developers):圖 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 是任何 應用程式架構的重要組成部分,其中一個突出的功能就是 Direct Mode。 這可讓您的應用程式在沒有 Oracle Client 的情況下使用 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

進階 Entity Framework 支援。

Devart.Data.Oracle 增強了 Entity Framework (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 (How It Works For Developers):圖 2 - IronPDF 首頁

瞭解 IronPDF 的功能作為一個函式庫,它具有簡單而強大的功能:它允許開發人員在其 .NET 應用程式中建立、編輯和擷取 PDF 內容。 IronPDF 的真正魅力在於它的易用性,它提供直接的方法來 將 HTML 轉換為 PDF - 這是網頁應用程式中報告、發票和文件的常見需求。

IronPDF 擅長於 HTML 至 PDF 的轉換,可確保精確保留原始版面與樣式。 它非常適合從網頁內容(如報告、發票和文件)建立 PDF。 IronPDF 支援 HTML 檔案、URL 和原始 HTML 字串,可輕鬆製作高品質的 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 Package Manager 或透過 Package Manager Console 來完成:

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 (How It Works For Developers):圖 3 - IronPDF 授權頁面

在結束本教程時,很明顯 Entity Framework Core 與 Devart.Data.Oracle 的整合豐富了基於 Oracle 應用程式的開發。 在 Visual Studio 的引導下,將這些技術融合到您的開發環境中,將為您開啟一扇大門,讓您可以創造出強大、可擴充的應用程式。 對於想要深入研究 Oracle 資料庫應用程式的開發人員而言,利用 Entity Framework Core 與 DotConnect for Oracle 的全面功能,將可打下穩固的基礎。 您可以免費試用 IronPDF,或查看起價為 $999 的價格

常見問題解答

如何在我的 .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 屬性設為 true 以開始追蹤資料庫互動並優化效能。

向 .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。

Jacob Mellor, Team Iron 首席技術官
首席技術官

Jacob Mellor是Iron Software的首席技術官,也是開創C# PDF技術的前瞻性工程師。作為Iron Software核心代碼庫的原始開發者,他自公司成立以來就塑造了公司的產品架構,並與CEO Cameron Rimington將公司轉型為服務NASA、Tesla以及全球政府機構的50多人公司。

Jacob擁有曼徹斯特大學土木工程一級榮譽學士學位(1998年–2001年)。他於1999年在倫敦開立首家軟體公司,並於2005年建立了他的第一個.NET組件,專注於解決Microsoft生態系統中的複雜問題。

他的旗艦作品IronPDF和Iron Suite .NET程式庫全球已獲得超過3000萬次NuGet安裝,他的基礎代碼不斷在全球各地驅動開發者工具。擁有25年以上的商業經驗和41年的編碼專業知識,Jacob仍然專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我