Ich schreibe ein Programm, dass in Variante 1 Daten aus einem Access2000 ausliest, und einmal aus einem SQLServer2003.
Die beiden DBs sind von der Strutkur völlig gleich.
Meine Basisklasse in Kurzform (try/catch usw rausgeworfen)
CDaoRecordset m_RecSet;
BOOL CNetTab::Select(CString SQL)
{
if (m_RecSet.IsOpen())
m_RecSet.Close();
m_RecSet.Open(dbOpenSnapshot , SQL); //auch Dynaset schon versucht
if (!m_RecSet.IsEOF())
{
m_RecSet.MoveFirst();
return TRUE;
}
return FALSE;
}
Die vererbten Klassen speichern die einzelnen Columns in Variablen etc etc.
Folgender Fall:
ich habe Statement1. wird ausgeführt, ich movenext bis zum EOF.
durch einen Klick angestoßen, führe ich das gleiche statement nochmals aus. Am SQLServer bekomme ich die Fehlermeldung:
„ODBC-Verbindung zu Server XYZ fehlgeschlagen“. DAO-Fehler 3151.
Das gleiche am Access funktioniert aber.
die SQL-DB öffne ich mit:
strConnection = „ODBC;UID=sa:stuck_out_tongue_winking_eye:WD=sa;SERVER=WXP-AMD500;DRIVER={SQL SERVER};DATABASE=Zentrale;“;
m_pDaoDB->Open(NULL, FALSE, FALSE, strConnection);
Kann ich das recordset unter umständen nicht wiederverwenden? Ich verstehs derzeit nicht so wirklich. Vor allem gehts ja am Access, und die DAO sollte doch gleich funktionieren?