Creating Database Users With SQLDMO

Feb 4, 2008

Hi, this is a bit of background to what I'm trying to achive:

I have an application that creates a new database in MS 2000. The application will then create a login, with then create a user and add the login to the user, it will then add that user to the folling roles; db_owner, db_datareader, db_datawriter.

A SQL script is then run to add tables, view and stored procedures to the new database.

Most of this works however I'm having a few problems with loging in as the new user. Aslo how do I ensure that if new objects (tables, stored procs etc) are added the new user will have full permissions on them?

This is the code I have so far...I'm going round in circles with it and was hoping that someone with fresh eyes might be able to see where I'm going wrong:

Many thanks

 1 protected string CreateUser(string strDatabaseName)
2 {
3 //database hase alreday been created
4 SQLDMO.SQLServer gSQLServerDMO = new SQLDMO.SQLServer();
5
6 string serverName = ConfigurationManager.AppSettings["DbsServerName"];
7 gSQLServerDMO.Connect(serverName,
8 ConfigurationManager.AppSettings["DbsUserName"],
9 ConfigurationManager.AppSettings["DbsUserPwd"]);
10 //get the database object
11 SQLDMO.Database dbs = (SQLDMO.Database)gSQLServerDMO.Databases.Item(strDatabaseName, "");
12
13 #region create a login object and populate it
14 SQLDMO.Login login = new SQLDMO.Login();
15 string loginName = strDatabaseName + "_WebLogin";
16 login.Name = loginName;
17 string password = "password";
18
19 login.SetPassword("", password);
20 login.Database = strDatabaseName;
21
22 //check if it exists
23 bool found = false;
24 foreach (SQLDMO.Login ologin in gSQLServerDMO.Logins)
25 {
26 if (ologin.Name == loginName)
27 {
28 found = true;
29 break;
30 }
31 }
32 if (!found)
33 gSQLServerDMO.Logins.Add(login);
34 #endregion
35
36 #region create the user
37 SQLDMO.User user = new SQLDMO.User();
38 //assign the login
39 string userName = strDatabaseName+ "_WebUser";
40 user.Name = userName;
41 user.Login = loginName;
42 //dbs.Users.Add(user);
43
44 found = false;
45 foreach (SQLDMO.User oUser in dbs.Users)
46 {
47 if (oUser.Name == loginName)
48 {
49 found = true;
50 break;
51 }
52 }
53 if (!found)//add the user to the dbs
54 {
55 dbs.Users.Add(user);
56
57 //add user to role
58 //db_owner
59 //SQLDMO.DatabaseRole oRole = new SQLDMO.DatabaseRole();
60 //oRole =
61 //oRole.AddMember(loginName);
62 dbs.DatabaseRoles.Item("db_owner").AddMember(userName);
63 dbs.DatabaseRoles.Item("db_datareader").AddMember(userName);
64 dbs.DatabaseRoles.Item("db_datawriter").AddMember(userName);
65 }
66 #endregion
67
68 string connString = "server=" + serverName + ";database=" + strDatabaseName + ";uid=" + userName
69 + ";pwd=" + password + ";";
 

View 1 Replies


ADVERTISEMENT

SQL 2005 - SQLDMO - Adding Logins/ Users

Jul 21, 2006

I do not understand the sequence in which to add logins/users. A coupleof things to note. I can not use vbscript - it has to be done using thesqldmo objects (or in a sql script).The sequence I use now is:1- create login, set default db2- add login to sql server3- set db owner4- create user5- add user to master db6- add user to tempdb - blows up hereError 'Microsoft SQL-DMO: [SQL-DMO]This object is already in acollection.'I need the user in 3 dbs. Any help greatly appreciated. Thinking aboutit...I bet by adding it to the master db that it is automatically addedto tempdb so I will try to add it to the 2rd db and see if that works.Thanks!-Will

View 2 Replies View Related

Creating Database And Users

Apr 12, 2007

Ok I just installed SQl 2005 for the very first time. I used a service account(domain admin)and Windows NT authentication to install SQL.

Now I am setting up Mcafee EPO on a different server. This application can either install MSDE or use a sql database. I want to use my new SQL server.

What are the best practices to :
a)create database on SQL
b)create a user
c)what permissions to give this user

For example during installation of Mcafee EPO it is asking me name of the remote SQL server, authentication method(Windows or SQL)and the user account.

I am starting to read about SQL but need some quick answers. I need to do the same thing for my SMS 2003 installation. Thanks.

View 4 Replies View Related

Creating Database To Save Ratings Of Articles Given By Users

Aug 11, 2013

I would like to create a database & save to that data base the ratings of articles that are given by the users.

(I want to create a recommendation system.)

I am using joomla! How do I do this ?

View 1 Replies View Related

I Am Trying To Attach A Database Through SQLDMO ...........

Apr 28, 2005

Problem is: "I am trying to attach a database through SQLDMO using VB6 In MSDE (Microsoft Sql Server Desktop Engine). If my '.mdf' and '.ldf' files are placed in a folder with Spaces then it give me  error because it is picking up the folder name up to first space."
 

View 1 Replies View Related

Error Backing UP SQL Database Using SQLDMO And VB.NET

Feb 19, 2008

Hi,

I developed an application in Vb.net and SQLDMO that backs up a database and performs certain operations on it once this is done. I have set the backup to backup to file which the user selects. However when i execute the backup i get an error message that " Backup device not found or error finding device" .THis error baffles me because i have not specified the backup to be to device can anyone help?

View 14 Replies View Related

Connecting To An SQL Server Database Created Using SQLDMO

Jan 10, 2001

I am a new SQL Server developer using Visual Basic 6 Professional Edition. I am using ADO and SQLDMO to develop my application. The SQL Server is Version 7.0, SP2 and SP3 (two different servers).

I am having difficulty gaining access, using ADO, to databases I create using SQLDMO. I create the database, create the DBFILE object, create a login and attach it to the database, create a user, assign the created login to the user,
and assign the created user to the 'db_datareader', 'db_datawriter' and 'public' roles. the login object was set to 'standard', not NT. the SQL Server is set to 'mixed' NT -SQL Server login mode. Thw SQL Server is running under the 'system account'. Using SQL Server Enterprise Manager, everything looks OK. An attemp to connect using the ADO connection object fails, giving an error of Login failed for user 'engbom3admin'.

Connecting to the SQL Server using SQLDMO uses the 'sa' user name with a blank password.

I can successfully connect to the created database using the ADO connection object using the 'sa' user name and blank password. Using the SQL Server Enterprise manager, I cannot see anything at all different between the 'sa' and my created 'engbom3admin' user. I've manually set the created user to have 'db_owner' roles, etc. Same result. I'm stumped. I've read all I can gather from the Microsoft SQL Server books. I'm still stumped.

I would greatly appreciate any help, information or tips you could provide. Thank you in advance.

Sincerely,
Bob Wohlers
SVP, IS Datamax Corporation

View 2 Replies View Related

Why Out Of The Blue Would VPN Users Be Unable To Connect To Database And Local Users Are Unaffected?

Mar 6, 2008

I have had this issue just pop up. I have local users who can connect fine, but my users that require connection by VPN cannot connect. I get the server not available or access denied error. I did confirm that the VPN'ers are connected to the network correctly and can see that their shares and mappings are correct. Any ideas? Thanking you all in advance!!

View 6 Replies View Related

Creating Users

May 1, 2007

Hi All

i WANT to create users for database or sever in SQL SERVER 2005

HOW CAN I GO

Thanks in Advance




Malathi Rao

View 6 Replies View Related

Creating New Tables For New Users

Oct 16, 2007

hi all,
 
How can i create a new data table automatically for new users signing into the website.......what i mean here is that i have a predefined database table and i want that users signing in can have that table for them unique , so that they can fill data for themselves and that data will be visible to all just like forums  

View 1 Replies View Related

Creating New Users With Dbo Permissions

Aug 17, 2004

I am trying to create a new user for a SQL Server database and use the credentials in an
ASP.NET app.

Problem is dbo permissions are not being applied to the database objects when I set up a
new user (Logins -> New Logins) with SQL Server Authentication, set the default database to
the database I want.

I then get an error message saying that the user has not been granted access to their default
database : DBNAME and therefore will not be able to gain access to their default database.

I'm not sure why this is as I am logged in as sa.

Anyway, when I ignore the error and set-up this new user through the Users section of the
database none of the dbo permissions carry over.

Can anyone help?
Cheers.

View 1 Replies View Related

Problem Creating Users

Jan 13, 2000

I'm not sure why this is not working, a similar process worked in 6.5 I migrated yesterday.

I restore a database backup from another server. I delete all the users in that database under both Users and Roles, as well as under Security/Logins. Then under Security/Logins I recreate three login and try to reassign them to the appropriate Role. I get an error message: "User or Role already exists in current database". I already deleted that user, the only place he exists is in Public role, which is ok. I don't understand I must be doing something wrong?

Thanks,
Paul

View 1 Replies View Related

Creating New Users With MSDE

Jul 20, 2005

I have MSDE installed on my sistem, and I need to add a new user.How do I go about doing this?

View 2 Replies View Related

Creating Users In Sql Eypress

Jun 13, 2006

Hi,

wanted to add a login in via c# to sql server express.

Is this possible?

I treid this:

String connString = "data source=xtrlt027;Initial catalog=master;Integrated Security=true;"; SqlConnection conn= new SqlConnection();; conn.ConnectionString = connString; try { System.Console.WriteLine("Opening Connection..."); conn.Open(); System.Console.WriteLine("Connection opened!!!"); SqlCommand cmd = new SqlCommand("create login tommtk with Password='tomm2tomm'; use master; create user tommtk;", conn); cmd.ExecuteNonQuery(); System.Console.WriteLine("Login created!!!"); } catch (Exception deleteEx) { System.Console.WriteLine("SqlException Handle :{0}", deleteEx.ToString()); } finally { conn.Close(); System.Console.WriteLine("Connection closed!!!"); }

But i get an exception, that there is an error near the keyword login and the keyword user.So wahts wrongcan anybody help me?Greetz

View 9 Replies View Related

Difference Between Database -- &&> Users And Security --&&> Users

Nov 28, 2006

Hi Team,

In SQL Enterprise Manager, when we expand "Database -->Users", we see the

users there. When we expand "Security --> logins" we see the same users there.

Can you differentiate these two.

Thanks

Santhosh

View 1 Replies View Related

Creating Stored Procedure To Send Email To Multiple Users

Sep 20, 2007

Hi Everybody,

I am trying to setup a stored procedure that runs through a Reminders table and sends an email to users based on DateSent field being smaller than todays date. I have already setup the stored procedure to send the email, just having trouble looping through the recordset.




Code Snippet


CREATE PROCEDURE [dbo].[hrDB_SendEmail]

AS

BEGIN


DECLARE @FirstName nvarchar(256),

@LastName nvarchar(256),

@To nvarchar(256),

@ToMgr nvarchar(256),

@Subject nvarchar(256),

@Msg nvarchar(256),

@DateToSend datetime,

@Sent nvarchar(256),

@ReminderID int,

@RowCount int,

@Today datetime,

@Result nvarchar(256)

-- Get the reminders to send


SELECT

@ReminderID = r.intReminderID,

@DateToSend = r.datDateToSend,

@FirstName = e.txtFirstName,

@LastName = e.txtLastName,

@To = e.txtEmail,

@Subject = t.txtReminderSubject,

@Sent = r.txtSent

FROM


(auto_reminders r INNER JOIN employee e ON r.intEmployeeID = e.intEmployeeID) INNER JOIN ref_reminders t ON r.intReminderType = t.intReminderTempID

WHERE


(((r.datDateToSend)<20/12/09) AND

((r.txtSent)='False'))

-- Send the Emails


WHILE(LEN(@To) > 0)

BEGIN


EXEC @Result = sp_send_cdosysmail @To, @ToMgr, @Subject, @Msg

END

-- Mark the records as sent

IF @Result = 'sp_OAGetErrorInfo'


BEGIN


SELECT @Sent = 'Error'

END
ELSE


BEGIN


SELECT @Sent = 'True'

END
UPDATE auto_reminders

SET


auto_reminders.txtSent = @Sent, auto_reminders.datDateSent = @Today

WHERE


intReminderID = @ReminderID

END

GO







From the code you can probably tell I am new to writing stored procedures, so I apologise for any obvious errors. My major problems are :-


how to loop through each record

how to get todays date

whether the struture of the procedure is correct
Also, if you think there is an easier way or a better method, please suggest it. I am open to any suggestions you may have,

Thanks in advance
Ben

View 1 Replies View Related

Restore Of Database Backup To Another Database Makes Users DBO

May 7, 1999

Anybody figure a way around this:

In a development server you take a backup and you want to move the entire database to a production server. The production server does not contain the database, users, or logins in master.

When you restore the backup to production in 7.0, the users get moved to DBO because the logins do not exist and then you cannot delete them.

We are having to drop the users from the database on development, back up the database and restore it to production, then recreate the users on production.

This is bogus and did not happen in 6.5 because of the aliases.

Anybody come up with a better way?

View 1 Replies View Related

After Replicating A Database, SP's In The Same Database Are Not Able To Modify By Other Users.

May 21, 2008

hi there,

After replicating a database, the stored procedures in that same database are not able to edit by other users than service account (sys admin users), When the normal users try to edit any of the stored procedures, sql server 2005 is throwing the following error...

Msg 21050, Level 16, State 1, Procedure sp_MSmerge_ddldispatcher, Line 12Only members of the sysadmin fixed server role or db_owner fixed database role can perform this operation. Contact an administrator with sufficient permissions to perform this operation.

any suggessions are most welcome.

by
CHINNASAMY

View 1 Replies View Related

Users Database

Jan 31, 2008

how can i create a users database to store users infos (names pictures...) ??
thx for taking time to read this

View 2 Replies View Related

SQLDMO: HELP!! (This One Not The Other)

Feb 14, 2000

I am trying to write a database compare application for our SQL Server databases using VB and SQLDMO.

I find SQLDMO to be rather slow but on large databases with about 800+ tables, this loop eats up all of my abundant memory until everything crashes. On smaller db's it works fine but is a slower than I expected.

Dim Tbl as SQLDMO.Table
Dim Col as SQLDMO.Column

For Each Tbl in DB.Tables 'DB was previously set
For Each Col in Tbl.Columns
Debug.Print Tbl.Name & "." & Col.Name
Next Col
Next Tbl

Here's a pic of what the app looks like so far. If it looks useful to you, let me know, I'll give you a copy if I can get it working better!

Chad

View 1 Replies View Related

Sqldmo.dll

Feb 5, 2006

I am using SQLDMO.DLL for Backup & restore utility in C# application.

Following is the code :

SQLDMO._SQLServer srv = new SQLDMO.SQLServerClass();
srv.Connect("IBM0505d-040","sa","");
SQLDMO.Restore res = new SQLDMO.RestoreClass();
res.Devices = res.Files;
res.Files = this.txtRestorefrom.Text;
res.Database = "abc";
res.ReplaceDatabase = true;
res.SQLRestore(srv);

While running above code it gives following exception :


"[Microsoft][ODBC SQL Server Driver][SQL Server]Database in use. The system administrator must have exclusive use of the database to run the restore operation.[Microsoft][ODBC SQL Server Driver][SQL Server]Backup or restore operation terminating abnormally."

Can somebody suggest solution for this.

Thanks,

Jitendra C.

View 1 Replies View Related

Sqldmo

Feb 8, 2006

Hi,

I am using SQLDMO for database backup and restore.

While taking a backup if I specify existing backup file name then I think it appends to existing file because its size increases almost by double.

And when I restore from that file the it restores data which I take back up very first time. It doest dont restores latest data.

If user specify existing file name then it should overwrite.

How to specify this using SQLDMO

Thanks

View 1 Replies View Related

Accessing Database Users

Feb 8, 2007

Hi,
 I would like to know if there is any way of Accessing database users from frontend and changing their persmissions.
Thanks
Niranjana. 
 

View 10 Replies View Related

Users Not Listing In Database.

Jan 25, 2001

Hello Experts,

I copied a database from my production server to the development server and now i dont see the users in the database from the enterprise manager,database and users folder. But, When i run a query to against the sysuser table from a query analyser I can see those users here. Why cant I see in from the Enterprise manager. Any advice please..


Appreciated any comments on this.
Thanks,

Vilke.

View 2 Replies View Related

How To Force Users From A Database?

Dec 1, 2000

Does anyone know a way to force out all users from a particular database? I need to script this to perform some maintenance at a particular time every day.

Thanks for your help,

Les

View 2 Replies View Related

Dropping Users In Database

Dec 23, 1999

Is there a way in SQL to drop any users from a database. I am trying to schedule some nightly DB maintenance and some users are still in there sometimes. I need to be able to kick the out to do dbcc checkdbs, etc. Is there a way for me to do this without stopping the SQL services?

View 3 Replies View Related

Database Users...URGENT!!

Jun 15, 2000

I restored a database from one full backup.The users are missing now in the new databse.When I try to create the same users again it says that they are already existing!Please help what shall I do to restore/recreate the users?Do I need to do anything with the Master?

View 4 Replies View Related

Copying Users From One Database To Another

Feb 25, 2001

I have a question regarding copying users from one server to another that are running different versions of Microsoft Sequel Server.

I have Server A running 6.5 version and Server B running 7.0 version. How can I copy just the list of users from Database1 on Server A to Database2 on Server B.

Can anyone help me.

Thanks.

Lakshmi.

View 2 Replies View Related

Users Cant Access New Database

Dec 22, 2004

EMERGENCY 911 HELP PLEASE

Ok I created a database SQL is the engine and Access XP is the gui. When the users try to access the databae they get error message, it opens up but they cant open the forms for some reason. I was wondering if this had to do with me have Access XP and them having Access 2000, but I highly doubt it because when I had a user log on to my machine (which has access xp) they still were not able to access the forms. Can someone help me out PLEASE PLEASE PLEASE... this is so frustrating :(

One thing I'm noticing is that the users connection keeps dropping???

View 12 Replies View Related

Export Database Users

Nov 1, 2005

Hi, guys

I has a question for you:

How can i Export the users and permisions and restore it again?

Thanks in advance

View 4 Replies View Related

No Dbo For A Database - But There Are Db_owner Users

Aug 27, 2006

I have a number of user databases who have lost their owner. That is, displaying properties for the database says the owner is unknown.

I assume that any user for such a database that's assigned to the db_owner role can admin everything in this database? Which means that the lack of a dbo doesn't cause any other problem than making it impossible to run a sp_helpdb for the database, or...?

Of course I'd like to make someone the owner, but it seems difficult to make an already existing database user the owner, without dropping the user and re-creating it.

View 3 Replies View Related

Is There A SP That Will Logout Users From A Database?

Oct 3, 2007

Hi,

I looked everywhere in System Stored Procedure docs for MSDE 2005 and I cant find a stored procedure that will force logout users from a database.

Is there such a thing? If not, is there another way?

Thanks,

View 6 Replies View Related

Tracing Users Of A Database

Jun 13, 2007

Hi

As a newbie to DBA type tasks, how can I trace who has accessed the server/database. I know there is a SPID in the Server log but what does this represent?

Thanks!

View 6 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved