SQL Server Anmeldung soll nicht mehr erscheinen
-
Hallo an Alle,
ich baue in meiner Anwendung zu einem externen Server über ODBC eine Datenbankverbindung auf. Dabei verwende ich die Klasse CRecordSet. Jedoch stört es mich, dass jedesmal, wenn ich über die Klasse CRecordSet auf die Datenbank zugreife, das PopUp-Fenster für SQL Server Anmeldung erscheint, obwohl ich in meiner Datenquelle den Benutzernamen und das Passwort für meine Datenbank eingegeben habe.
Weiss da jemand Rat, wie man das abstellen kann?
Gruss,
chullain
-
Hast du dich ganz sicher nicht verschrieben?
-
Hallo,
nein, da bin ich mir sicher. Als ich die ODBC-Quelle erstellt habe, habe ich nochmals ein Test gemacht und der Zugriff auf die Datenbank war erfolgreich.
Ich muss dann jedes Mal, wenn ich eine Verbindung zur Datenbank aufbaue, in dem SQL-Server-Anmeldung-Fenster das Kästchen für vertrauensvolle Verbindung aufbauen anklicken oder halt das Kenntwort nochmals eingeben.
Gruss,
chullain
-
Aaaaach, du hast die Userdaten in der Datenquelle angegeben - aber nicht im Recordset, habe ich das richtig verstanden?
Gib die mal auch dem Recordset, dann sollte es gehen.
-
ok, und wie mach ich das?
in meiner CRecordSet-Klasse habe ich folgendes definiert:
CString CDBBenutzer::GetDefaultConnect() { return _T("ODBC;DSN=Benutzerverwaltung"); } CString CDBBenutzer::GetDefaultSQL() { return _T("[dbo].[Benutzer_Automation]"); }
Danke.
-
chullain schrieb:
[cpp]CString CDBBenutzer::GetDefaultConnect()
{
return _T("ODBC;DSN=Benutzerverwaltung;UID=username;PWD=userpasswort");
}Ganz einfach. Nun sollte die Nachfrage nicht mehr kommen.
PS: Ein netter Link in diesem Zusammenhang: http://www.connectionstrings.com/
-
cool, danke, muss jetzt nur noch gucken, wie ich die Daten dynamisch reinschreiben kann, weil eben die Datenbank auf verschiedenen Systemen liegen kann.
Gruss,
Arthur
-
ohne Anspruch auf Korrektheit:
CString CDBBenutzer::GetDefaultConnect() { CString ret; ret.Format("ODBC;DSN=Benutzerverwaltung;UID=%s;PWD=%s",GetUserID(),GetUserPWD()); return ret; }
-
Falls du mehrere Tabellen hast, würde ich zu einer CDatabase-Instanz raten, die du den Recordsets gibst.