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和資料集工具。 此操作將程式庫新增到您的專案中。 現在您可以開始使用其功能。

一個基本的程式碼範例
讓我們看看一個簡單的範例。 這將示範如何連接到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());
}
}
}
}
}
}Imports Devart.Data.Oracle
Imports System
Module Program
Sub Main()
' Define the connection string with placeholders for your specific database information
Dim connectionString As String = "User Id=myUsername;Password=myPassword;Server=myServer;"
' Establish a connection to the Oracle database
Using connection As New OracleConnection(connectionString)
connection.Open()
' Execute a SQL command
Using command As New OracleCommand("SELECT * FROM myTable", connection)
Using reader As OracleDataReader = command.ExecuteReader()
' Read and print each row of the result set
While reader.Read()
Console.WriteLine(reader("myColumn").ToString())
End While
End Using
End Using
End Using
End Sub
End ModuleImports Devart.Data.Oracle
Imports System
Module Program
Sub Main()
' Define the connection string with placeholders for your specific database information
Dim connectionString As String = "User Id=myUsername;Password=myPassword;Server=myServer;"
' Establish a connection to the Oracle database
Using connection As New OracleConnection(connectionString)
connection.Open()
' Execute a SQL command
Using command As New OracleCommand("SELECT * FROM myTable", connection)
Using reader As OracleDataReader = command.ExecuteReader()
' Read and print each row of the result set
While reader.Read()
Console.WriteLine(reader("myColumn").ToString())
End While
End Using
End Using
End Using
End Sub
End Module此程式碼片段已經與正確的連接字串相結合。 它從一個表中選擇資料並將列值列印到控制台。 用您的實際資料庫資訊替換myUsername、myPassword、myServer、myTable和myColumn。 這就是如何使用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 UsingDim connectionString = "User Id=myUsername; Password=myPassword; Direct=True; Server=myServer;"
Using connection = New OracleConnection(connectionString)
connection.Open()
' Use the connection
End Using這個範例展示了如何啟用直接模式。 在您的連接字串中新增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' 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該程式碼使用EF Core提取資料。 用您的實際上下文和實體名稱替換MyDbContext、MyEntities和Property。
批量操作
批量操作對於高性能的資料操作至關重要。 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 UsingUsing connection = New OracleConnection(connectionString)
connection.Open()
Using bulkCopy = New OracleBulkCopy(connection)
bulkCopy.DestinationTableName = "targetTable"
bulkCopy.WriteToServer(dataTable)
End Using
End Using此程式碼演示了批量資料插入。 用您的目標表名替換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 ClassImports 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啟用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 As 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
End UsingUsing context As 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
End Using用您的實際上下文、實體和屬性名稱替換MyDbContext、MyEntities、PropertyName和Property。 此範例使用LINQ查詢資料庫。
這些功能中的每一個都增強了您的應用程式。 它們使您對Oracle資料庫的工作更有效率。 您可以直接存取、高級EF支援、批量操作、性能監控和增強的LINQ到SQL隨時使用。
整合IronPDF和Devart.Data.Oracle
介紹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 ClassImports 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將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套件管理器或通過套件管理器控制台完成:
接下來,這是您如何撰寫程式碼以從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
Module Program
Sub Main(args As String())
' Connection string to Oracle Database
Dim oracleConnectionString As String = "User Id=your_user;Password=your_password;Direct=True;Sid=your_sid;Server=your_server;"
' SQL query to fetch data
Dim sqlQuery As String = "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 As OracleDataReader = oracleCommand.ExecuteReader()
' Initialize HTML content for PDF generation
Dim htmlContent As String = "<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>"
End While
' Create a PDF from the HTML content using IronPDF
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = 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 ModuleImports Devart.Data.Oracle
Imports IronPdf
Imports System
Module Program
Sub Main(args As String())
' Connection string to Oracle Database
Dim oracleConnectionString As String = "User Id=your_user;Password=your_password;Direct=True;Sid=your_sid;Server=your_server;"
' SQL query to fetch data
Dim sqlQuery As String = "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 As OracleDataReader = oracleCommand.ExecuteReader()
' Initialize HTML content for PDF generation
Dim htmlContent As String = "<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>"
End While
' Create a PDF from the HTML content using IronPDF
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = 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 Module在這個範例中,我們使用Devart.Data.Oracle的OracleConnection類來設置與我們的Oracle資料庫的連接。 然後,我們使用簡單的SQL查詢從SalesReport表中提取資料。 出於演示目的,提取的資料被轉換為一個HTML字串(在真實世界的場景中,您將根據資料構建一個更複雜的HTML文件)。 最後,我們使用IronPDF的ChromePdfRenderer類將HTML字串轉換為PDF文件,然後將其本地保存。
結論
總結本教程,將Entity Framework Core與Devart.Data.Oracle的整合豐富了基於Oracle的應用程式的開發。 這些技術在您的開發環境中的融合,通過Visual Studio指導,為建立強大且可擴展的應用程式提供了許多可能性。 對於希望深入了解基於Oracle的資料庫應用程式的開發人員,利用Entity Framework Core的全面功能以及DotConnect for Oracle 提供了堅實的基礎。 您可以通過免費試用或查看訂價來嘗試IronPDF,其價格從$999開始。
Jacob Mellor是Iron Software的首席技術官,一位在C# PDF技術上開創先河的遠見工程師。作為Iron Software核心程式碼庫的原開發者,他從創立以來就一直在塑造公司的產品架構,與首席執行官Cameron Rimington一起將公司轉變為服務於NASA、特斯拉和全球政府公司的50多名人員的公司。