110,535
社区成员
发帖
与我相关
我的任务
分享
private string GetSql(string Name)
{
try
{
string path = this.Context.Parameters["targetdir"] + Name;
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
StreamReader reader = new StreamReader(fs, System.Text.Encoding.Default);
return reader.ReadToEnd();
}
catch (Exception ex)
{
Console.Write("In GetSql:" + ex.Message);
throw ex;
}
}
private void ExecuteSql(string DataBaseName, string Sql)
{
SqlConnection sqlConnection1 = new SqlConnection();
sqlConnection1.ConnectionString = string.Format("server={0}; user id={1}; password={2}; Database={3}", this.Context.Parameters["server"], this.Context.Parameters["user"], this.Context.Parameters["pwd"],DataBaseName );
System.Data.SqlClient.SqlCommand Command = new System.Data.SqlClient.SqlCommand(Sql, sqlConnection1);
try
{
Command.Connection.Open();
Command.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.Write("In exception handler :" + ex.Message);
}
finally
{
Command.Connection.Close();
}
}
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
AddDBTable(this.Context.Parameters["dbname"]);
}
protected void AddDBTable(string strDBName)
{
try
{
ExecuteSql("master", "CREATE DATABASE " + strDBName);
string sql = GetSql("sql.txt");
ExecuteSql(strDBName, sql );
ExecuteSql("master", "exec sp_addlogin 'myoamaster','myoamaster','" + strDBName + "',Null,Null");
ExecuteSql(strDBName, "EXEC sp_grantdbaccess 'myoamaster', 'myoamaster'");
ExecuteSql(strDBName, "exec sp_addrolemember 'db_owner','myoamaster'");
}
catch (Exception ex)
{
Console.Write("In exception handler :" + ex.Message);
}
}
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[user]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[user]
CREATE TABLE [dbo].[user] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[userName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[pwd] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]