Erstellen .DBF-Datei aus SQL-Tabelle von Datensätzen
Ich möchte erstellen Sie eine .DBF
- Datei aus SQL-Tabelle von Datensätzen.
So, als wenn es eine Tabelle mit dem Namen CountryMaster
in SQL und es hat 5 Spalten:
- ID int identity(1,1)
- Name varchar(100)
- Details varchar(200)
- Status-bit
- CreatedDate datetime
Und es hat 100 Zeilen.
Wie kann ich den export dieser Datensätze mit Header in .DBF
- Datei aus C#?
HINWEIS: Erstellt .DBF
Dateigröße muss sehr kompakt sein.
- Ich denke, das könnte Ihre Frage beantworten stackoverflow.com/questions/322792/...
- Das RDBMS ist das für Sie? Bitte fügen Sie eine Markierung, um anzugeben, ob Sie
mysql
,postgresql
,sql-server
,oracle
oderdb2
- oder etwas ganz anderes. - So wollen Sie zum exportieren von Daten aus SQL Server in eine dBase, Clipper oder Foxpro-Datei (welche)? Sie sollten nicht brauchen, um die Verwendung von C# für diese überhaupt, haben Sie versucht, Integration Services oder der Assistent zum Exportieren von Daten in SSMS? Der Assistent erstellt ein SSIS-Paket, das Sie Bearbeiten können, um Ihre Bedürfnisse anzupassen. Sie können sogar den gleichen Provider Verbindungszeichenfolgen in Ihrem C# - code, wenn Sie wollen
- gelöschte Antwort war, wie es war mit einem Werkzeug.OP-Folgen können z.B. bei github.com/SocialExplorer/FastDBF/blob/master/TestDbfLib/...
- was ist Ihre Idee, auf seiner HINWEIS:, die sagen: dbf-Datei-Größe muss sehr kompakt sein.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehen Sie die Xbase-Daten-Datei (*.dbf) Struktur und eigenen code schreiben, aber ich habe getan, die Umsetzung und benutze es seit Jahren. Hier finden Sie es auf GitHub
, Wie die Nutzung der Bibliothek
Gibt es einige schreiben Methoden in einer Datei namens DbfFile.cs. Sie können alle von Ihnen verwenden. Ich werde erklären, einige von Ihnen:
Der Ersten Write-Methode
Sparen
DataTable
als dbf Datei:fileName
: ist der Ort, die Sie wollen, dass die.dbf
Ausgabe-Datei gespeichert werden.table
: Ihre Daten, die Sie gelesen haben, von der SQL Server oder einer anderen Quelle.encoding
: die Kodierung, die verwendet werden beim speichern die Daten der ZeichenfolgeDer Zweiten Write-Methode
Sparen
List<T>
in eine dbf-Datei.Lesen Sie die Datenbank, und speichern Sie das Ergebnis in eine Klasse geben Sie dann Sie auf Klasse Wert zu dbf-Datei, diese Methode verwenden. Hier ist die Beschreibung der Parameter:
fileName
: die dbf-Datei-Namen gespeichert werdenvalues
: Ihre Daten als Liste von Objekten des TypsT
gespeichert werden in einer dbf-Dateimapping
: Eine Liste von Funktionen, die sagen, dass diese Methode, wie Sie Daten abrufen, die von der Klasse geben.columns
: dbf-Spalte Informationenencoding
: die Kodierung der dbf-Datei.Beispiel für die Zweite Methode Write
Als der erste Ansatz ist gerade nach vorne, habe ich Ihnen und Beispiel auf der zweiten write-Methode. Betrachten Sie speichern wollen
List<MyClass>
Daten in eine dbf-Datei. Hier ist der codeNun können Sie eine
List<MyClass>
in eine dbf-Datei wie folgt:genießen.
UTF-8
Codierung, da die Spezifikation der dbf-Datei sagen Sie uns, es gibt nur zwei byte Speicherplatz für jeden Charakter. Also denken Sie daran, wenn Sie dieUTF-8
und Sie nicht-englische Zeichen enthalten, können Sie den Verlust einiger Daten. Haben Sie einen Blick auf ANSI Kodierung und denjenigen finden, der Ihren Bedürfnissen passenMakeDbfFields
Methode ich bin mit 100 als die Standard-Länge für string-Spalten können Sie ändern, um den max-Wert ist 255. Eine weitere Einschränkung der dbf-Datei ist, dass die string-Spalten können nicht über das hinausgehen 255 Länge begrenzen. Dies kann Ihr problem lösen. Ich update die GitHub.Meist alle Informationen, die Sie benötigen können, sehen Sie unter Probleme mit Insert Into .dbf-Datei, weil es zeigt, wie Sie eine Tabelle erstellen und einfügen von Werten in die es bei der Erstellung einer .dbf-Datei. Sie benötigen, um einige änderungen für die Felder, die Sie angegeben haben, aber die Seite beschreibt alles, was Sie brauchen.
Id wie um zu helfen. Jedoch, id-stick mit dem einfachen Prozess mit OLEDB für VPF.
CREATE TABLE DBF -
Könnte dies Ihre create table-Skript für .DBF
Dann rufen Sie diese aus einer OLE DB-Skript wie unten verwendet.
IMPORT ZEILE IN TABELLE
Importieren, die Zeilen in einer DBF-Tabelle, es ist nicht so weit wie die üblichen SQL-Skripts, die wir in anderen DB ' s.
Können Sie einfach ändern Sie nun die Werte, was passt Ihren Bedarf, ebenso wie die Nutzung unter.
Bitte lassen Sie mich wissen, wenn Sie haben andere sorgen.
Vergessen Sie nicht, installieren Sie diese in Ihrer Maschine.
VFP OLE DB
Bieten eine C# - Lösung für Sie würde ich anfangen, durch das herunterladen Microsoft Visual Foxpro OLE DB-Provider die Werke mit .DBF-Tabellen.
oben in deinem C# - code, fügen Sie
Dann, innerhalb einer Methode, die Daten zu verschieben
Da der OLE DB unterstützt nicht das kopieren TYPS CSV, die ich gefunden habe, dieser Beitrag auf S/A dump in das CSV-format für Sie