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 |