Cuma, 23 Mart 2012 08:56

C# SQLDMO MSSQL Server'e Programatik Olarak Kullanıcı Oluşturma (Create MSSQL Logins)

Yazan
Öğeyi Oyla
(1 Oyla)

SQLDMO.SQLServer srv;
SQLDMO.Database db;
public void CreateUser()
{
string BilgAdi = SystemInformation.ComputerName.ToString();

//Kullanıcı oluşturulacak veritabanını önceden oluşturmuş varsayıyoruz.

srv.LoginSecure = true;
srv.Connect(BilgAdi + "\\SQLEXPRESS", "", "");

SQLDMO.Database dbs = (SQLDMO.Database)srv.Databases.Item("DuyuruTV", "");

#region Kullanıcı nesnesi oluştur
SQLDMO.Login login = new SQLDMO.Login();
string loginName = "DuyuruTV";
login.Name = loginName;
string password = "sifreniz";

login.SetPassword("", password);
login.Database = "DuyuruTV";

//Kullanıcının olup olmadığını kontrol et          
bool found = false;
foreach (SQLDMO.Login ologin in srv.Logins)
{
if (ologin.Name == loginName)
{
found = true;
break;
}
}
if (!found)
srv.Logins.Add(login);
#endregion

#region Kullanıcı oluştur
SQLDMO.User user = new SQLDMO.User();
//Kullanıcıyı veritabanına ata
string userName = "DuyuruTV";
user.Name = userName;
user.Login = loginName;
//dbs.Users.Add(user);

found = false;
foreach (SQLDMO.User oUser in dbs.Users)
{
if (oUser.Name == loginName)
{
found = true;
break;
}
}
if (!found)//Kullanıcıyı Veritabanlarına Ekle    
{
dbs.Users.Add(user);

//add user to role
//db_owner
//SQLDMO.DatabaseRole oRole = new SQLDMO.DatabaseRole();
//oRole =
//oRole.AddMember(loginName);
dbs.DatabaseRoles.Item("db_owner").AddMember(userName);
dbs.DatabaseRoles.Item("db_datareader").AddMember(userName);
dbs.DatabaseRoles.Item("db_datawriter").AddMember(userName);
}
#endregion

//string connString = "server=" + BilgAdi + "\\SQLEXPRESS;database=DuyuruTV;uid=" + userName + ";pwd=" + password + ";";
}

Okunma 40550 defa Son Düzenlenme Pazartesi, 02 Nisan 2012 05:51
Bu kategoriden diğerleri: « C# Diziler ORTALAMA HESAPLAMA »