vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
Anzahl Verbinugen ermitteln mit exec sp_who '???' 
Autor: Thomas
Datum: 20.10.08 12:46

Hallo,
ich will die Anzahl der Verbindung eines bestimmten Benutzers auf dem SQL
Server ermitteln.
Dazu verwende ich
exec sp_who 'Benutzer'
Das geht auch soweit ganz gut. Jedoch verwende ich VB6 und habe eine
Connection erstellt und habe verschiedene Recordsets offen.


Wenn ich andere RecordSets offen habe, gibt mit die Prozedur
exec sp_who 'Benutzer'
jedoch immer eine Prozess mehr zurück, als ich erwartet habe.
Beispiel:
Ich habe eine Connection
Ein Prozess
Ich öffne einen Recorset
Ein Prozess
Ich öffnen einen zweiten Recorset
Ein Prozess
Ich frage mit sp_who ab, wieviele Prozesse offen sind.
Zwei Prozesse (obwohl eigentlich nur einer da sein sollte!!!)


Ich hoffe ihr versteht mein Problem.
Kann mir jemand helfen?

Zur Info: Ich brauche den Server seitigen Cursor. Also kann ich diesen nicht
auf Client ändern!


Anbei mein VB6 Code.
Private Sub Command1_Click()
Dim DBName As String
Dim ConTest As ADODB.Connection
Dim SQLProvider As String
Dim UserName As String
Dim PWD As String
Dim Server As String
Dim AnzahlUserAufDatenbank As Long
 
   UserName = "Benutzer"
   PWD = "Passwort"
   DBName = "Datenbank"
   Server = "Servername"
 
   SQLProvider = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=" 
& UserName & ";Password=" & PWD & " ;Initial Catalog=" & DBName & ";Data 
Source=" & Server
 
 
 
   Set ConTest = New ADODB.Connection
   ConTest.ConnectionString = SQLProvider
   ConTest.Open
   MsgBox "Datenbank wurde geöffnet"
 
      Dim rsTEst As ADODB.Recordset
      Set rsTEst = New ADODB.Recordset
      Dim rsTEst2 As ADODB.Recordset
      Set rsTEst2 = New ADODB.Recordset
      Dim rsTEst3 As ADODB.Recordset
      Set rsTEst3 = New ADODB.Recordset
 
 
 
 
      With rsTEst
         .ActiveConnection = ConTest
         .CursorLocation = adUseServer
 
      End With
 
      rsTEst.Open "select * from LF", , , adLockOptimistic
      'rsTEst.Close
 
 
      With rsTEst2
         .ActiveConnection = ConTest
         .CursorLocation = adUseServer
 
      End With
 
      rsTEst2.Open "select * from BT", , , adLockOptimistic
      'rsTEst2.Close
 
 
 
 
      With rsTEst3
         .ActiveConnection = ConTest
         .CursorLocation = adUseServer
 
      End With
 
      rsTEst3.Open "exec sp_who 'alacarte'", , , adLockOptimistic
      AnzahlUserAufDatenbank = 0
      Do While rsTEst3.EOF = False
         AnzahlUserAufDatenbank = AnzahlUserAufDatenbank + 1
         rsTEst3.MoveNext
      Loop
      rsTEst3.Close
      MsgBox "Anzahl: " & AnzahlUserAufDatenbank
 
   ConTest.Close
   MsgBox "Datenbank wurde geschlossen. Es wurden 10 Datensätze geschrieben"
 
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Anzahl Verbinugen ermitteln mit exec sp_who '???'1.227Thomas20.10.08 12:46

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel