我正在使用SQL Server开发C#应用程序,并想调用存储过程来创建登录名和用户。
我正在寻找最简单的方法来做到这一点,只是默认的东西,但有用户名和密码。
登录旁边的创建用红色下划线标出?
但是我认为我的登录很好吗?请告诉我我是否缺少任何东西。
与创建用户一起,是否只是这样的一个班轮?
CREATE PROCEDURE CreateLoginAndUser
@UserName
CREATE LOGIN @UserName
WITH PASSWORD = 'password',
DEFAULT_DATABASE = [TestAudit],
DEFAULT_LANGUAGE = [British],
CHECK_EXPIRATION=OFF,
CHECK_POLICY=ON;
CREATE USER 'DEV' + @UserName
[{ FOR | FROM } LOGIN @UserName] [WITH DEFAULT_SCHEMA = schema]
我不明白FOR
,并FROM
…
我可以做这样的事情:
CREATE PROCEDURE CreateLoginAndUser
@UserName
CREATE LOGIN @UserName
WITH PASSWORD = 'password',
DEFAULT_SCHEMA = schema
CREATE USER 'DEV'+@UserName
[{ FOR | FROM } LOGIN @UserName] [WITH DEFAULT_SCHEMA = schema]
Google如何搜索以下来源:
http://ss64.com/sql/login_c.html
http://ss64.com/sql/user_c.html
考虑使用动态SQL创建用户。例如,要创建一个名为的服务器登录名,并使用一个名为@login
的数据库用户'DEV' + @login
:
create procedure dbo.CreateLoginAndUser(
@login varchar(100),
@password varchar(100),
@db varchar(100))
as
declare @safe_login varchar(200)
declare @safe_password varchar(200)
declare @safe_db varchar(200)
set @safe_login = replace(@login,'''', '''''')
set @safe_password = replace(@password,'''', '''''')
set @safe_db = replace(@db,'''', '''''')
declare @sql nvarchar(max)
set @sql = 'use ' + @safe_db + ';' +
'create login ' + @safe_login +
' with password = ''' + @safe_password + '''; ' +
'create user DEV' + @safe_login + ' from login ' + @safe_login + ';'
exec (@sql)
go
在客户端构造SQL语句可能会更容易。但是即使那样,您也不能在create login
语句中使用参数。因此,请对SQL注入保持警惕。
我试着创建这个过程(作为一个系统),它需要两个参数,用户名和密码,并根据它们创建一个用户: 问题是,当我尝试执行此过程(作为一个系统)时,我遇到了以下错误: 错误报告:ORA-01031:权限不足ORA-06512:在第9行的“系统.过程\u创建\u客户端”处ORA-06512:在第1 01031行。00000-“权限不足”*原因:试图在没有适当权限的情况下更改当前用户名或密码。如果试图在没有必要
我在Dreamweaver的帮助下创建了这个登录页面,并希望使其用户名字段必须与SQL数据库中的用户名匹配才能创建密码。我不太熟悉这一点,也不确定我需要做什么来要求一个现有的用户名,然后向数据库中的用户名行添加密码。 以下是Dreamweaver创建的php代码:与数据库的连接已经存在,因此我知道下面的代码中不存在该连接。这就像一个正常的注册页面一样好用,但我不希望任何人都能注册。
MySQL 存储过程是一些 SQL 语句的集合,比如有时候我们可能需要一大串的 SQL 语句,或者说在编写 SQL 语句的过程中需要设置一些变量的值,这个时候我们就完全有必要编写一个存储过程。 编写存储过程并不是件简单的事情,但是使用存储过程可以简化操作,且减少冗余的操作步骤,同时,还可以减少操作过程中的失误,提高效率,因此应该尽可能的学会使用存储过程。 下面主要介绍如何创建存储过程。 可以使用
在Teradata16上创建存储过程时sql出错,请问这个查询有什么问题? 替换过程tutorial_db.banks(out test Varchar(20))BEGIN select name from tutorial_db.banks end;
问题内容: 我正在尝试调用从pyodbc创建数据库的存储过程 以下是代码的最小示例 理想情况下,该代码应在SQL Server实例中创建一个名为“ Test ”的数据库。这不会产生任何错误。但是没有创建数据库。 跑步 问题答案: Python DB API2.0指定默认情况下,应在禁用自动提交的情况下打开连接。但是,许多数据库要求DDL语句 不在 事务内执行。尝试在禁用自动提交的情况下执行DDL语
主要内容:创建一个远程存储库在本章中,我们将看到如何创建一个远程Git仓库; 我们需要一个远程Git仓库来执行团队协作。这一篇文章很重要,直接影响到后面的章节的学习。所以,希望大家可先耐心地看完本章内容,并按本章一步步的操作。 创建一个远程存储库 我们将演示在 http://git.oschina.net/ 软件项目的托管平台上创建和初始化一个新的存储库。 注:你也可以使用 GitHub (http://github.com