Probleme mit CRecordset/CDatabase und SQL Server 2005
-
Ich habe folgendes Problem. Ich möchte mit CRecordset/CDatabase Zugriff auf einen SQL-Server haben (2005 Express Edition). Beim rs.Open() bekomme ich eine "Unhandled exception...".
Ich habe keine ODBC-DSN angelegt, sondern übergebe alle Parameter im Connectionstring. Kann da der Fehler liegen.
Holger
CDatabase oDB; try { if ( oDB.Open(NULL, FALSE, FALSE, _T("ODBC;Driver={SQL Server};SERVER=192.168.1.138\\alarmstatistic;DATABASE=AlarmStatistic;Port=1433;UID=sa;PWD=***")) != 0) { if (oDB.IsOpen() ) { CRecordset rs(&oDB); rs.Open( CRecordset::snapshot , _T( "Select * from DBVersion" ) ); if (! rs.IsEOF()) { CDBVariant dbValue; rs.GetFieldValue("DB_Version", dbValue); } } } } catch (CDBException ex) { CString strError = ex.m_strError; }
-
big-holger schrieb:
... übergebe alle Parameter im Connectionstring. Kann da der Fehler liegen...
Das lässt sich doch relativ leicht rausfinden, indem du die Datenquelle anlegst
-
Auch wenn ich eine Datenquelle (DSN) angebe und den Connectstring leer lasse, schlägt das Recordset.Open() fehl.
Daran liegt es also nicht.
-
Versuch mal:
CDatabase Bla; Bla.OpenEx("DSN=XXX;UID=XXX;PWD=XXX", CDatabase::useCursorLib); if(Bla.IsOpen()) [...]
Müsste eigentlich funktionieren.
Liebe Grüße,
Julian