Přidání uživatele do databáze SQL Serveru

Postup:
Aby následující procedura fungovala, musíte mít vytvořené připojení na SQL databázi s právy pro přidávání uživatelů - nejlépe jako SA. Tento postup navíc vyžaduje mít v projektu referenci na ADO 2.1.

Option Explicit

Public Function SQLServerAddUser(UserName As String, _
   Password As String, oConn As ADODB.Connection, _
   Optional Database As String) As Boolean

'Vstup : UserName - jméno uživatele, které chcete přidat
'              Password - heslo nového uživatele
'              oConn - otevřené připojení na databázi
'            [Database] - pokud je specifikováno, přidá uživatele do této databáze
'                               místo použití defaultní databáze z připojení
'Výstup : Vrací True při úspěsšném provedení, jinak False


   On Error GoTo ErrFailed

   oConn.Execute "USE Master"
   If Len(Database) Then
   
    oConn.Execute "EXEC sp_addlogin " & UserName & "," & _
           Password & "," & Database
       oConn.Execute "USE " & Database
   Else
      oConn.Execute "EXEC sp_addlogin " & UserName & "," & _
         Password & "," & oConn.DefaultDatabase
      oConn.Execute "USE " & oConn.DefaultDatabase
   End If

   oConn.Execute "EXEC sp_adduser " & UserName
   SQLServerAddUser = True

Exit Function

ErrFailed:
   Debug.Print "SQLServerAddUser: " & Err.Description
   SQLServerAddUser = False

End Function


Příklad použití:
Sub Test()

   
Dim sConString As String
   Dim oConn As ADODB.Connection

   sConString = "Provider=SQLOLEDB.1;"
   sConString = sConString & "User ID=sa;password=mypassword;"
   sConString = sConString & "Initial Catalog=MyDatabase;"
   sConString = sConString & "Data Source=MySQLServer;"

   oConn.Open sConString
   SQLServerAddUser "TestUser", "TestPassword", oConn

End Sub

Zpět

Autor: The Bozena