Hallo,
ich habe ein C++ Programm geschrieben das mit einer Funktion auf eine FoxPro Datei (*.dbf) zugreift. Dieses Programm stürzt beim öffnen der FoxPro-Datei ab, wenn das Programm auf einem PC mit dem Betriebssystem Windows 2000 Terminal Server gestartet wird. Es er-scheint keine Fehlermeldung. Auf Desktop PC`s mit den Betriebssystemen Windows 98, Windows 2000 und Windows XP läuft das Programm erfolgreich durch.
Ein MDAC Komponentenüberprüfungsprogramm (CompCheck) gibt auf dem PC eine "UN-KNOWN" Versionsangabe aus.
Ich bin für jeden hilfreichen Hinweis Dankebar...
Ausschnitt des Quelltextes:
statement = "SELECT kunde.name, info.kunde_position
FROM kunde, info WHERE kun-de.id = info.id";
char buf[1024];
::GetCurrentDirectory(255, buf);
dbfpfad = buf;
CString source = "DSN=Visual FoxPro Tables;UID=;PWD=;SourceDB=";
source += dbfpfad;
source += ";SourceType=DBF;Exclusive=Nein;BackgroundFetch=Ja;Collate=Machine;";
CDBPropSet dbinit(DBPROPSET_DBINIT);
CDBPropSet propset(DBPROPSET_ROWSET);
dbinit.AddProperty(DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO, false);
dbinit.AddProperty(DBPROP_INIT_PROMPT, (short)4);
dbinit.AddProperty(DBPROP_INIT_PROVIDERSTRING, source);
dbinit.AddProperty(DBPROP_INIT_LCID, (long)1031);
ds.OpenWithServiceComponents("MSDASQL.1", &dbinit);
session.Open(ds);
propset.AddProperty(DBPROP_IRowsetChange, true);
propset.AddProperty(DBPROP_UPDATABILITY,
DBPROPVAL_UP_INSERT | DBPROPVAL_UP_CHANGE | DBPROP-VAL_UP_DELETE);
HRESULT result = rs.Open(session, statement, &propset, NULL, DBGUID_DBSQL, FAL-SE);
if (result != S_OK)
{
AfxMessageBox( "Fehler beim Datenbankzugriff!" );
}
rs.Close();
session.Close();
ds.Close();