Saltar al contenido

Crear archivo .DBF a partir de registros de tablas SQL

Recabamos en el mundo online y así traerte la respuesta a tu problema, si tienes alguna inquietud deja la duda y te responderemos sin falta.

Solución:

Puede ver la estructura del archivo de datos Xbase (*.dbf) y escribir su propio código, pero yo hice la implementación y la he estado usando durante años. Aquí puedes encontrarlo en GitHub


Cómo usar la biblioteca

Hay algunos escribe métodos en un archivo llamado DbfFile.cs. Puedes usar cualquiera de ellos. Voy a explicar algunos de ellos:

El primer método de escritura

Guarda un DataTable como DBF expediente:

static void Write(string fileName, System.Data.DataTable table, Encoding encoding)
  • fileName: es la ubicación en la que desea que .dbf guardar el archivo de salida.
  • table: son sus datos que ha leído de la servidor SQL o cualquier otra fuente.
  • encoding: la codificación que se utilizará al guardar el string datos

El segundo método de escritura

Guarda un List en un archivo dbf.

static void Write(string fileName,
                                    List values,
                                    List> mapping,
                                    List columns,
                                    Encoding encoding)

Lea la base de datos y guarde el resultado en algún tipo de clase, luego guarde el valor de la clase en el archivo dbf usando este método. Aquí está la descripción de sus parámetros:

  • fileName: el nombre del archivo dbf que se guardará
  • values: Sus datos como una Lista de objetos de tipo T para ser guardado en un archivo dbf
  • mapping: una lista de funciones que le indican a este método cómo recuperar datos del tipo de clase.
  • columns: información de la columna dbf
  • encoding: la codificación del archivo dbf.

Ejemplo para el segundo método de escritura

Como el primer enfoque es sencillo, le proporciono un ejemplo del segundo método de escritura. Considere que desea guardar un List datos en un archivo dbf. Aquí está el código

class MyClass

    public int Id get;set;
    public string Name get;set;

Ahora puedes guardar un List en un archivo dbf como este:

var idColumn = DbfFieldDescriptors.GetIntegerField("Id");
var nameColumn = DbfFieldDescriptors.GetStringField("Name");
var columns = new List()  idColumn, nameColumn ;

Func mapId = myClass => myClass.Id;
Func mapName = myClass => myClass.Name;
var mapping = new List>()  mapId, mapName ;

List values = new List();
values.Add(new MyClass()  Id = 1, Name = "name1" );

DbfFileFormat.Write(@"C:yourFile.dbf", values, mapping, columns, Encoding.ASCII);

Además, al usar esta biblioteca, puede leer archivos dbf y su código no depende de Microsoft.Jet.OLEDB O algo más.

disfrútala.

Calificaciones y reseñas

Puedes añadir valor a nuestra información contribuyendo tu veteranía en las crónicas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *