Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
DuckDB.NET es un proveedor de código abierto de enlaces .NET para la biblioteca nativa DuckDB, diseñado para integrarse perfectamente con C#. Proporciona un proveedor ADO.NET, lo que facilita el uso de DuckDB, una biblioteca de bindings de bajo nivel, dentro de las aplicaciones .NET. Este paquete es ideal para desarrolladores que deseen aprovechar las potentes capacidades analíticas de DuckDB en un entorno C#.
La instalación de DuckDB.NET es muy sencilla. Puede añadirlo a su proyecto utilizando la CLI .NET:
dotnet add package DuckDB.NET.Data.Full
dotnet add package DuckDB.NET.Data.Full
IRON VB CONVERTER ERROR developers@ironsoftware.com
También puede instalarlo a través del gestor de paquetes NuGet en Visual Studio.
Una vez instalado, puede empezar a utilizar DuckDB.NET para ejecutar consultas SQL dentro de su aplicación C#. He aquí un ejemplo sencillo:
using System;
using DuckDB.NET.Data;
class Program
{
static void Main()
{
using var duckdbconnection = new DuckDBConnection("Data Source=:memory:");
duckdbconnection.Open();
using var command = duckdbconnection.CreateCommand();
command.CommandText = "CREATE TABLE integers(foo INTEGER, bar INTEGER);";
command.ExecuteNonQuery();
command.CommandText = "INSERT INTO integers VALUES (3, 4), (5, 6), (7, 8);";
command.ExecuteNonQuery();
command.CommandText = "Select count(*) from integers";
var executeScalar = command.ExecuteScalar();
command.CommandText = "SELECT foo, bar FROM integers;";
using var reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine($"{reader.GetInt32(0)}, {reader.GetInt32(1)}");
}
}
}
using System;
using DuckDB.NET.Data;
class Program
{
static void Main()
{
using var duckdbconnection = new DuckDBConnection("Data Source=:memory:");
duckdbconnection.Open();
using var command = duckdbconnection.CreateCommand();
command.CommandText = "CREATE TABLE integers(foo INTEGER, bar INTEGER);";
command.ExecuteNonQuery();
command.CommandText = "INSERT INTO integers VALUES (3, 4), (5, 6), (7, 8);";
command.ExecuteNonQuery();
command.CommandText = "Select count(*) from integers";
var executeScalar = command.ExecuteScalar();
command.CommandText = "SELECT foo, bar FROM integers;";
using var reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine($"{reader.GetInt32(0)}, {reader.GetInt32(1)}");
}
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Este ejemplo muestra cómo crear una tabla, insertar datos y consultar los datos utilizando DuckDB.NET.
DuckDB.NET admite la lectura de datos de varios formatos, incluidos los archivos CSV y Parquet. A continuación se explica cómo leer datos de un archivo CSV:
command.CommandText = "COPY integers FROM 'example.csv' (FORMAT CSV);";
command.ExecuteNonQuery();
command.CommandText = "COPY integers FROM 'example.csv' (FORMAT CSV);";
command.ExecuteNonQuery();
IRON VB CONVERTER ERROR developers@ironsoftware.com
DuckDB.NET también puede integrarse con marcos de datos, lo que permite manipular los datos utilizando la conocida sintaxis SQL. Esto resulta especialmente útil para las tareas de análisis de datos.
Puede convertir los resultados de las consultas a varios formatos, como listas u objetos personalizados, lo que facilita el trabajo con los datos en su aplicación:
var results = new List<(int foo, int bar)>();
while (reader.Read())
{
results.Add((reader.GetInt32(0), reader.GetInt32(1)));
// can also use for with var index and iterate the results
}
var results = new List<(int foo, int bar)>();
while (reader.Read())
{
results.Add((reader.GetInt32(0), reader.GetInt32(1)));
// can also use for with var index and iterate the results
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
DuckDB.NET admite la escritura de datos en disco en varios formatos. Puede utilizar la sentencia COPY para exportar datos a un archivo CSV:
command.CommandText = "COPY integers TO 'output.csv' (FORMAT CSV);";
command.ExecuteNonQuery();
command.CommandText = "COPY integers TO 'output.csv' (FORMAT CSV);";
command.ExecuteNonQuery();
IRON VB CONVERTER ERROR developers@ironsoftware.com
IronPDF es una biblioteca PDF en C# que permite generar, gestionar y extraer contenido de documentos PDF en proyectos .NET. Estas son algunas de sus principales características:
Conversión de HTML a PDF:
Convierta contenidos HTML, CSS y JavaScript en PDF.
Motor de renderizado de Chrome para documentos PDF perfectos.
Conversión de imágenes y contenidos:
Convierte imágenes a y desde documentos PDF.
Extraiga texto e imágenes de documentos PDF existentes.
Edición y manipulación:
Establezca propiedades, seguridad y permisos para documentos PDF.
Añade firmas digitales a los PDF.
Soporte multiplataforma:
Funciona con .NET Core(8, 7, 6, 5 y 3.1+.).NET Standard(2.0+)y .NET Framework(4.6.2+).
Compatible con Windows, Linux y macOS.
Para empezar, cree una aplicación de consola utilizando Visual Studio como se indica a continuación.
Indique el nombre del proyecto.
Proporcione la versión .NET.
Instale el paquete IronPDF.
Instale el paquete DuckDB.NET.
using DuckDB.NET.Data;
namespace CodeSample
{
public static class DuckDbDemo
{
public static void Execute()
{
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
var content = "<h1>Demo DuckDb and IronPDF</h1>";
content += "<h2>Create DuckDBConnection</h2>";
content += "<p>new DuckDBConnection(\"Data Source=:memory:\");</p>";
content += "<p></p>";
using var connection = new DuckDBConnection("Data Source=:memory:");
connection.Open();
using var command = connection.CreateCommand();
command.CommandText = "CREATE TABLE integers(book STRING, cost INTEGER);";
command.ExecuteNonQuery();
content += "<p>CREATE TABLE integers(book STRING, cost INTEGER);</p>";
command.CommandText = "INSERT INTO integers VALUES ('book1', 25), ('book2', 30), ('book3', 10);";
command.ExecuteNonQuery();
content += "<p>INSERT INTO integers VALUES ('book1', 25), ('book2', 30), ('book3', 10);</p>";
command.CommandText = "SELECT book, cost FROM integers;";
using var reader = command.ExecuteReader();
content += "<p>SELECT book, cost FROM integers;</p>";
while (reader.Read())
{
content += $"<p>{reader.GetString(0)}, {reader.GetInt32(1)}</p>";
Console.WriteLine($"{reader.GetString(0)}, {reader.GetInt32(1)}");
}
content += "<p>Save data to CSV with COPY integers TO 'output.csv' (FORMAT CSV);</p>";
command.CommandText = "COPY integers TO 'output.csv' (FORMAT CSV);";
command.ExecuteNonQuery();
var pdf = renderer.RenderHtmlAsPdf(content);
// Export to a file or Stream
pdf.SaveAs("AwesomeDuckDbNet.pdf");
}
}
}
using DuckDB.NET.Data;
namespace CodeSample
{
public static class DuckDbDemo
{
public static void Execute()
{
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
var content = "<h1>Demo DuckDb and IronPDF</h1>";
content += "<h2>Create DuckDBConnection</h2>";
content += "<p>new DuckDBConnection(\"Data Source=:memory:\");</p>";
content += "<p></p>";
using var connection = new DuckDBConnection("Data Source=:memory:");
connection.Open();
using var command = connection.CreateCommand();
command.CommandText = "CREATE TABLE integers(book STRING, cost INTEGER);";
command.ExecuteNonQuery();
content += "<p>CREATE TABLE integers(book STRING, cost INTEGER);</p>";
command.CommandText = "INSERT INTO integers VALUES ('book1', 25), ('book2', 30), ('book3', 10);";
command.ExecuteNonQuery();
content += "<p>INSERT INTO integers VALUES ('book1', 25), ('book2', 30), ('book3', 10);</p>";
command.CommandText = "SELECT book, cost FROM integers;";
using var reader = command.ExecuteReader();
content += "<p>SELECT book, cost FROM integers;</p>";
while (reader.Read())
{
content += $"<p>{reader.GetString(0)}, {reader.GetInt32(1)}</p>";
Console.WriteLine($"{reader.GetString(0)}, {reader.GetInt32(1)}");
}
content += "<p>Save data to CSV with COPY integers TO 'output.csv' (FORMAT CSV);</p>";
command.CommandText = "COPY integers TO 'output.csv' (FORMAT CSV);";
command.ExecuteNonQuery();
var pdf = renderer.RenderHtmlAsPdf(content);
// Export to a file or Stream
pdf.SaveAs("AwesomeDuckDbNet.pdf");
}
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
El código pretende mostrar cómo utilizar DuckDB.NET para las operaciones con la base de datos e IronPDF para generar un informe PDF que contenga los resultados de la consulta a la base de datos.
DuckDB.NET:
Operaciones de bases de datos:
Creación de tablas: Define un comando SQL(CREAR TABLA enteros(libro STRING, coste INTEGER);) para crear una tabla llamada enteros con columnas libro(CADENA) y el coste de la columna var(INTEGRO).
Inserción de datos: Inserta filas en la tabla de enteros(INSERT INTO enteros VALUES("libro1", 25), ('libro2', 30), ('libro3', 10);).
Generación de PDF con IronPDF:
Renderización de HTML a PDF: Utiliza ChromePdfRenderer de IronPDF para convertir el contenido HTML(contenido) en un documento PDF(pdf).
El paquete IronPDF requiere una licencia para funcionar. Añade el siguiente código al inicio de la aplicación antes de acceder al paquete.
IronPdf.License.LicenseKey = "IRONPDF-KEY";
IronPdf.License.LicenseKey = "IRONPDF-KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
Hay disponible una licencia de prueba enPágina de licencia de prueba de IronPDF.
El paquete DuckDB.NET C# es una potente herramienta para integrar las capacidades analíticas de DuckDB en aplicaciones .NET. Su facilidad de uso, su compatibilidad con diversos formatos de datos y su perfecta integración con C# lo convierten en una opción excelente para los desarrolladores que trabajan con aplicaciones de gran volumen de datos. Tanto si está creando herramientas de análisis de datos, ETL pipelines u otras aplicaciones basadas en datos, DuckDB.NET puede ayudarle a alcanzar sus objetivos de forma eficiente.
9 productos API .NET para sus documentos de oficina