資源簡介
asp.net c# 實現自動創建SqlServer數據庫,提供給用戶選擇數據庫名,登錄名和密碼

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Text;
using?System.Windows.Forms;
using?System.Diagnostics;
using?System.xml;
namespace?CreatDatabase
{
????///?
????///?yangyang8848
????///?
????public?partial?class?Form1?:?Form
????{
????????private?DataTable?servername?=?null;
????????xmlDocument?config?=?null;
????????string?serverName?=?null;
????????string?databaseName?=?null;
????????string?userName?=?null;
????????string?Password?=?null;
????????string?targetPath?=?null;
????????public?const?string?CONST_DATbase_PLACEHOLDER?=?“<se_NAME>>“;
????????public?Form1()
????????{
????????????InitializeComponent();
????????????//加載xml文件
????????????System.IO.Stream?stream?=?System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(“CreatDatabase.Resources.InstallationFiles.xml“);
????????????config?=?new?xmlDocument();
????????????//MessageBox.Show(“before?load...“);
????????????config.Load(stream);
????????????//將網絡上的SQL?服務器添加到列表框
????????????servername?=?System.Data.Sql.SqlDataSourceEnumerator.Instance.GetDataSources();
????????????SetServer();
????????}
????????///?
????????///?安裝數據庫
????????///?
????????///?
????????private?bool?InstallDatabase()
????????{
????????????string?fileName?=?null;
????????????try
????????????{???
????????????????ProcessStartInfo?processInfo?=?new?ProcessStartInfo(“osql.exe“);
????????????????processInfo.Windowstyle?=?ProcessWindowstyle.Normal;
????????????????//從資源中得到將要執行的SQL文件名稱
????????????????if?(config?!=?null)
????????????????{
????????????????????fileName?=?config.SelectSingleNode(“configroot/Files/Database/Add/File“).Attributes[“name“].Value;????????????
????????????????}
????????????????else
????????????????{
????????????????????MessageBox.Show(“文件未找到“);
????????????????}
????????????????//得到參數
????????????????processInfo.Arguments?=?GetCommonProcessArguments(fileName?“master“);
????????????????EventLog.WriteEntry(“DatabaseInstaller“?processInfo.Arguments);
????????????????PopulateDatabaseNamePlaceHolder(GetFullPath(fileName));
????????????????Process?osql?=?Process.Start(processInfo);
????????????????//等待
????????????????osql.WaitForExit();
????????????????EventLog.WriteEntry(“DatabaseInstaller“?“Database?created..“);
????????????????osql.Dispose();
????????????????return?true;
????????????}
????????????catch?(Exception?ex)
????????????{
????????????????//Customize?if?required.
????????????????EventLog.WriteEntry(“DatabaseInstaller“?ex.Message?EventLogEntryType.Error);
????????????????MessageBox.Show(ex.Message);
????????????????return?false;
????????????}
????????}
????????private?bool?SetServer()
????????{
????????????try
????????????{
????????????????this.comboBox1.DataSource?=?GetServersName();
????????????}
????????????catch?(Exception?e)
?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3389??2006-08-29?13:42??CreatDataba
?????文件???????6471??2006-08-29?14:23??CreatDataba
?????文件???????6020??2006-08-29?13:42??CreatDataba
?????文件???????5814??2006-08-29?13:42??CreatDataba
?????文件????????472??2006-08-29?13:27??CreatDataba
?????文件???????1182??2006-08-29?13:27??CreatDataba
?????文件???????2880??2006-08-29?13:27??CreatDataba
?????文件???????5612??2006-08-29?13:27??CreatDataba
?????文件???????1096??2006-08-29?13:27??CreatDataba
?????文件????????249??2006-08-29?13:27??CreatDataba
?????目錄??????????0??2006-08-29?13:27??CreatDataba
?????文件????????193??2006-08-29?13:37??CreatDataba
?????目錄??????????0??2006-08-29?13:37??CreatDataba
?????文件????????364??2006-08-29?13:37??CreatDataba
?????目錄??????????0??2006-08-29?13:37??CreatDataba
?????目錄??????????0??2006-08-29?14:24??CreatDataba
?????文件????????928??2006-08-29?13:27??CreatDataba
????..A..H.?????18944??2006-08-29?14:24??CreatDataba
?????目錄??????????0??2006-08-29?13:27??CreatDataba
?????文件??????24576??2006-08-29?14:23??CreatDataba
-----------?---------??----------?-----??----
????????????????78190????????????????????20
評論
共有 條評論