使用 C# 在 SQL Server 中创建数据库 (VS2005)





3.00/5 (3投票s)
2006年10月5日
2分钟阅读

84382

1488
使用 C# 在 SQL Server 中创建数据库 (VS2005)
引言
这是一个用于在 Sql Server 运行时创建数据库的示例 ASP.Net (VS2005) 应用程序。我使用了 SQL-DMO dll。本文将向您展示如何在 Sql Server 2005 和 2000 中创建数据库。
以下讨论了一些重要的函数
添加对 SQL-DMO dll 的引用
您可以通过在解决方案资源管理器中右键单击项目,然后选择“添加引用”,COM 组件和最新版本的“Microsoft SQLDMO 对象库”来执行此操作。
可用服务器
SQLDMO.Application oSQLServerDMOApp = new SQLDMO.Application();
SQLDMO.NameList oNameList;
oNameList = oSQLServerDMOApp.ListAvailableSQLServers();
for (int intIndex = 0; intIndex <= oNameList.Count - 1; intIndex++)
{
if (oNameList.Item(intIndex as object) != null)
{
cboServers.Items.Add(oNameList.Item(intIndex).ToString());
}
else
{
cboServers.Items.Add("(本地)");
}
}
cboServers.SelectedIndex = 0;
在服务器上创建数据库
string strDatabaseName = "";
SQLDMO.SQLServer gSQLServerDMO = new SQLDMO.SQLServer();
SQLDMO.Database nDatabase = new SQLDMO.Database();
SQLDMO.DBFile nDBFileData = new SQLDMO.DBFile();
SQLDMO.LogFile nLogFile = new SQLDMO.LogFile();
strDatabaseName = txt_Database.Text.ToString();
try
{
gSQLServerDMO.Connect(this.cboServers.SelectedItem.ToString(), this.txtUser.Text, this.txtPassword.Text);
nDatabase.Name = strDatabaseName;
nDBFileData.Name = strDatabaseName;
nDBFileData.PhysicalName = gSQLServerDMO.Registry.SQLDataRoot + "\\DATA\\" + strDatabaseName + "_Data.mdf";
nDBFileData.PrimaryFile = true;
nDBFileData.Size = 2;
nDBFileData.FileGrowthType = SQLDMO.SQLDMO_GROWTH_TYPE.SQLDMOGrowth_MB;
nDBFileData.FileGrowth = 1;
//添加 DBFile 对象
nDatabase.FileGroups.Item("PRIMARY").DBFiles.Add(nDBFileData);
//
nLogFile.Name = strDatabaseName + "Log";
nLogFile.PhysicalName = gSQLServerDMO.Registry.SQLDataRoot + "\\DATA\\" + strDatabaseName + "_Log.ldf";
nLogFile.Size = 2;
nDatabase.TransactionLog.LogFiles.Add(nLogFile);
gSQLServerDMO.Databases.Add(nDatabase);
Page.ClientScript.RegisterStartupScript(this.GetType(), "Error", "<script type=\"text/javascript\">alert('数据库创建成功');</script>");
gSQLServerDMO.DisConnect();
}
catch (Exception SQLDBException)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Error", "<script type=\"text/javascript\">alert('" + SQLDBException.Message + "');</script>");
return;
}
finally
{
}