Ich bin am Ende meines Seiles zu diesem Thema. Der Versuch, ein FoxPro-Verzeichnis lokal gehostet zu verbinden, die Microsoft OLE DB Provider for Visual FoxPro 9.0 mit dem folgenden Code:VFPOleDb Schema zurückgegeben, aber keine Ergebnisse in C#
using (var con = new OleDbConnection(@"Data Source=C:\FoxDB;Provider=VFPOLEDB.1;"))
{
con.Open();
using (var cmd = new OleDbCommand("select * from order", con))
{
var dr = cmd.ExecuteReader();
while (dr.Read())
{
Debug.WriteLine(dr["ord_id"]);
}
}
}
Ausführen des Codes nicht eine Ausnahme, aber es gibt keine Zeilen zurückgegeben. Das Schema wird erkannt und zurückgegeben, da 72 Felder vorhanden sind, wenn ich den Datenleser untersuche (ich habe dasselbe mit Datentabellen, Datensätzen, Datenadaptern usw. getan. Alle geben das Schema zurück, aber null Ergebnisse). gezogen in
ein SSIS-Paket Erstellen der gleichen Tabelle zuzugreifen und in eine MSSQL-Datenbank Ergebnisse in 3828 Datensätze ziehen. order.dbf
auf der Festplatte 884KB ist, die mit dem SSIS zu Jive scheint Ergebnisse Ich habe in Mitleidenschaft gezogen.
Ich habe versucht, Collation Sequence
zu der Verbindungszeichenkette, Machine
und General
ohne Wirkung hinzuzufügen.
Bitte sagen Sie mir, es ist etwas offensichtlich, dass ich vermisse!
UPDATE: Also gibt es anscheinend etwas, was ich über FoxPro nicht verstehe. Wenn ich den Befehlstyp in CommandType.TableDirect
ändere und den Befehlstext in order
umschalte, werden alle Zeilen zurückgegeben. Jeder Einblick würde geschätzt werden.
Danke für die Antwort. Maschinen- und allgemeine Vergleiche ergaben dasselbe. Interessanterweise kann ich aus _certain_ Tabellen auswählen, aber keine anderen. Auch die Tabellen, aus denen ich nicht auswählen kann ... wenn ich die 'CommandText' -Eigenschaft auf nur' bestellen' und 'CommandType' auf' CommandType.TableDirect' verändere, kann ich alle Zeilen bekommen. Das bringt mir nicht viel Gutes, weil ich eine Where-Klausel brauche, aber ich fand es interessant. Oh, und die Version auf vfpoledb.dll ist 9.0.00.5815, die ich denke, ist die neueste. Auch versucht, Sie zu verbessern, aber ich habe nicht den Ruf, tut mir leid. – bphdpt
Die endgültige Version von VFP ist 7423, daher ist möglicherweise eine neuere Version des Treibers vorhanden. –
@ TamarE.Granor, AFAIK neuesten ist 9.0.00.5815. Wo finde ich 7423?
Wenn der Inhalt kein Geheimnis ist, können Sie diese Tabelle zippen und senden (dbf + cdx und fpt falls vorhanden - ich nehme an, es ist eine freie Tabelle). Wenn Sie an, cetin dot basoz bei deu dot edu dot tr –