我有一个要求,例如当用户成功注册到我的应用程序中时,将以他的名字创建一个新的数据库。因此,创建新的数据库programmaticall非常重要。
你能帮我么。其MVC5 asp.net。
答案 0 :(得分:0)
一种实现方法是使用存储过程创建新数据库。
SqlCommand cmd = new SqlCommand("CreateUserDB", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@DBName", DBName));
SqlDataReader rdr = cmd.ExecuteReader(); // Wrap in using()
conn-连接字符串 DBName-传递给存储过程的参数(在此示例中为数据库名称)
您的存储过程将包含创建数据库所需的SQL代码。
您的SP如下所示(或类似的内容)
CREATE PROCEDURE CreateUserDB
@DBName nvarchar(50)
AS
BEGIN
DECLARE @CREATEDBSCRIPT AS NVARCHAR = 'CREATE DATABASE ' + @DBName + ' ON(FILENAME = '''c:\myFile.mdf''') FOR ATTACH;'
END