跳至頁尾內容
開發者更新

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 - 透過NuGet包管理器在Visual Studio中搜尋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

進階的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

此程式碼演示了批量資料插入。 用您的目標表名替換targetTabledataTable應該是您的資料來源。

整合性能監控

性能監控內嵌在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到SQL支援

LINQ到SQL將複雜查詢轉換為高效的SQL。 Devart.Data.Oracle提供了優化的LINQ到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到SQL隨時使用。

整合IronPDF和Devart.Data.Oracle

介紹IronPDF

C# Devart.Data.Oracle(開發人員的工作方式):圖2 - IronPDF主頁

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

IronPDF在HTML到PDF轉換方面表現出色,確保精確保留原始設計和樣式。 它非常適合從基於網路的內容如報告、發票和文件中建立PDF。 IronPDF支持HTML文件、URLs和原始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套件管理器或通過套件管理器控制台完成:

Install-Package -Name IronPdf, Devart.Data.Oracle

接下來,這是您如何撰寫程式碼以從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的資料庫應用程式的開發人員,利用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的Direct Mode有哪些優勢?

Devart.Data.Oracle的Direct Mode允許應用程式連接到Oracle資料庫而不需要Oracle Client軟體,這簡化了部署並減少了應用程式的整體負擔。

如何使用.NET將HTML內容轉換為PDF?

您可以使用IronPDF在.NET中將HTML內容轉換為PDF。利用ChromePdfRenderer類來渲染HTML字串、文件或URL,輕鬆轉換為高質量的PDF文件。

Entity Framework在Devart.Data.Oracle整合中扮演什麼角色?

當與Devart.Data.Oracle整合時,Entity Framework通過支援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。

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

Jacob Mellor是Iron Software的首席技術官,一位在C# PDF技術上開創先河的遠見工程師。作為Iron Software核心程式碼庫的原開發者,他從創立以來就一直在塑造公司的產品架構,與首席執行官Cameron Rimington一起將公司轉變為服務於NASA、特斯拉和全球政府公司的50多名人員的公司。

Jacob擁有曼徹斯特大學的土木工程一等榮譽學士學位(BEng),於1998-2001年之間獲得。在1999年於倫敦創辦他的第一家軟體公司並於2005年建立了他的第一批.NET元組件後,他專注於解決Microsoft生態系統中的複雜問題。

他的旗艦IronPDF和Iron Suite .NET程式庫在全球獲得了超過3000萬次NuGet安裝依據,他的基礎程式碼基繼續支援著世界各地開發者使用的工具。擁有25年的商業經驗和41年的程式設計專業知識,他仍專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

Iron 支援團隊

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