Moin zusammen,
ich habe eine Anwendung geschrieben, die Computerdaten ermittelt und diese in eine Datenbank (Cluster) speichert. Dies geschieht während des Login des Benutzers.
Derzeit sind es ca. 6700 Benutzer in unserer Domäne. Der Login ist zwischen 06:30 und 08:30. Es kommt wahrscheinlich vermehrt vor, dass zu bestimmten Zeit viele Benutzer mit Hilfe der Anwendung ihre Daten in die
DB schreiben.
Die Anwendung verwendet einen
SQL Benutzer, um die Daten in der
DB zu speichern. Nun kommt es vermehrt dazu, dass im Server Log Einträge zu finden sind, dass der Login des
SQL Benutzers nicht möglich ist, da das Passwort nicht richtig ist. Das kann nicht sein. Alle haben das gleich, da sie nur die eine Anwendung benutzen.
Max. Verbindungen des
SQL Servers sind 32767 gesetzt.
Nun ist meine Überlegung, dass ich meine TADOConnection besser konfigurieren muss.
Was wären die besten Einstellungen in Bezug auf die oben geschilderte Situation.
Code:
TADOConnection - aktuelle Werte:
- CommandTimeout : 30
- ConnectOptions : coConnectUnspecified
- CursorLocation : clUseCLient
- IsolationLevel : ilCursorStability
- KeepConnection : True
- LoginPrompt : False
- Mode : cmReadWrite
- Provider : SQLOLEDB.1
Was kann ich optimieren?
Hier mein Code, um die Verbindung aufzubauen.
Delphi-Quellcode:
function Tfrm_main.ConnectToSQLServer : Boolean;
begin
Result := True;
SQLConnection.Connected := False;
if IsHostAlive(dbserver) = False
then
begin
CreateLogFile('
SQL Server ' + dbserver + '
is unreachable.',LogPath,0);
Result := False;
Exit;
end;
try
// SQL Authentifizierung
if dbinstance = '
'
then
SQLConnection.ConnectionString := '
Provider=SQLOLEDB.1;Data Source='+dbserver+'
;Initial Catalog='+
db+'
;User ID='+sqluser+'
;Password='+sqlpassword+'
;Persist Security Info=false'
else
SQLConnection.ConnectionString := '
Provider=SQLOLEDB.1;Data Source='+dbserver+'
\'+dbinstance+'
;Initial Catalog='+
db+'
;User ID='+sqluser+'
;Password='+sqlpassword+'
;Persist Security Info=false';
SQLConnection.Connected := True;
except
CreateLogFile('
Database Connection has been terminated with an unexpected error.',LogPath,0);
Result := False;
SQLConnection.Connected := False;
Exit;
end;
if SQLConnection.Connected = False
then
begin
CreateLogFile('
Database Connection failed. Please contact your local Administrator',LogPath,0);
Result := False;
Exit;
end;
end;