VS2005
Guten Abend,
ich möchte "einfach nur" das Tabellenschema - die Columndefinitionen (Namen, Datentyp) aus einer dBase-Datei ermitteln.
public void GetDataTable()
{
//OleDbConnection ccc = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.IO.Path.GetDirectoryName(filepath) + ";Extended Properties=dBASE IV;");
string conString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source="+ filepath +";Extended Properties=dBase IV";
OleDbConnection conn = new OleDbConnection(conString);
conn.Open();
// create the DataSet
DataSet ds = new DataSet();
// create the adapter and fill the DataSet
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM xxx", conn);
adapter.Fill(ds);
object[] objArrRestrict;
objArrRestrict = new object[] { null, null, "xxx", null };
DataTable schemaCols;
schemaCols = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, objArrRestrict);
//List the schema info for the selected table
foreach (DataRow row in schemaCols.Rows)
{
//listBox.Items.Add(row["COLUMN_NAME"]);
}
Beim Aufruf von GetOleDbSchemaTable bekomme ich aber eine Exception: "Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist."
Wo kann ich anfangen, nach dem Fehler zu suchen. Den DataTable füllt er mir ohne Probleme ..
LG
meinst du wirklich eine dbase IV Datenbank oder eine Foxpro dbf Datenbank?
Für Foxpro dbf dateien musst du auf jeden Fall nen anderen Initstring und den Foxpro OLE Treiber verwenden.
Ich würde trotzdem den FoxPro Treiber mal ausprobieren, evtl funktioniert der besser.
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=14839
http://connectionstrings.com/visual-foxpro
Hallo!
Wenn auch der Vorschlag von FZelle nicht hilft, kommst du evtl. mit dem Database-Explorer weiter, die Komponenten daraus kann man auch in eigene Programme einbinden (sind auch Beispiele dazu im Thread).
Nobody is perfect. I'm sad, i'm not nobody 🙁
Hallo,
ich habe diverse Sachen probiert, FoxPro, mit o.g. Treiber, ich habe es auf Sql2005, auf Sql2008 versucht, ich komm net wirklich ran, immer andere 'Fehlermeldungen.
DAnke.