环境:SQL SERVER 2008R2,windows7,vs2010
(1)首先将数据库导出为脚本语言:
打开SQL SERVER 2008R2 ,右击数据库>>任务>>生成脚本>>一直下一步(设置保存路径),得到类型为.sql的数据库脚本语言。
可以看到文件格式为:
(2)将.sql改为.txt文件。
(3)编写程序
创建数据库:
public static void CreateDatebase(string path, SqlCommand cmd){//读取脚本文件StreamReader sr = new StreamReader(path, Encoding.Default);String line;//执行sql语句string newLIne = "\r\n";string sql = string.Empty;while ((line = sr.ReadLine()) != null){if (line == "GO"){cmd.CommandText = sql;cmd.ExecuteNonQuery();sql = string.Empty;}else{sql += line;sql += newLIne;}}}
链接数据库,并判断数据库是否存在:
static void Main(string[] args){try{//填写你的数据库信息string source = @"server=YOURSERVER;database=master;uid=YOURID;pwd=YOURPSW;";SqlConnection cn = new SqlConnection(source);cn.Open();Console.WriteLine("数据库连接成功");SqlCommand cmd = cn.CreateCommand();//检测你想要创建的数据库是否已经存在cmd.CommandText = "select * From master.dbo.sysdatabases where name='abc'";if (cmd.ExecuteScalar() == null){//填写你的脚本文件保存路径string path = "C:/Users/Administrator/Desktop/mysql.txt";CreateDatebase(path,cmd);Console.WriteLine("数据库创建完成");}else {Console.WriteLine("该数据库已存在");}cn.Close();}catch (Exception ex) {Console.WriteLine(ex.Message);}Console.ReadKey();}
第一句话:
string source = @"server=YOURSERVER;database=master;uid=YOURID;pwd=YOURPSW;";
是在为连接数据库做准备,其中server为服务器名称,uid为登录名,pwd为登录密码。
执行程序,生成数据库成功!