65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconemptyStarIconemptyStarIcon

3.00/5 (3投票s)

2006年10月5日

2分钟阅读

viewsIcon

84382

downloadIcon

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

{

}

© . All rights reserved.