我喜歡在下面的代碼中使用FILENAME
的參數,而不是N'D:\ DBName.mdf'和N'D:\ DBName.ldf'。C#使用腳本創建數據庫
如何在.sql
文件中更改它以及如何使用參數從C#中調用它? 謝謝。
SQL腳本:
CREATE DATABASE [DBName] ON PRIMARY
(NAME = N'DBName', FILENAME = N'D:\DBName.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB)
LOG ON
(NAME = N'DBName_log', FILENAME = N'D:\DBName.ldf' , SIZE = 3456KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
END
C#代碼
string appPathDB = Path.GetDirectoryName(Application.ExecutablePath) + "\\DBName.mdf";
string appPathLog = Path.GetDirectoryName(Application.ExecutablePath) + "\\DBName_log.ldf";
private void CreateDatabase()
{
string connection = "Data Source=localhost;Initial Catalog=master;User ID=sa;Password=abcd1234";
FileInfo file = new FileInfo(Path.GetDirectoryName(Application.ExecutablePath) + "\\DBName.sql");
string script = file.OpenText().ReadToEnd();
ExecSql(script, connection, "DBName");
file.OpenText().Close();
}
public void ExecSql(string sql, string connectionString, string dataBaseNameToPrepend)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
Server server = new Server(new ServerConnection(conn));
server.ConnectionContext.ExecuteNonQuery(sql);
server.ConnectionContext.Disconnect();
server.ConnectionContext.ExecuteNonQuery(sql);
MessageBox.Show("DB Uploaded.");
}
}
謝謝...明白了...... :) – kyusan93