使用C#远程创建数据库

远程创建数据库时,通过master(总是存在的一个数据库)数据库进行连接

         static bool CreateDatabase(string strDBsource_, string strUserName_, string strUserPwd_, string strDBName_, string strPath_)
        {
            bool bSuccess = false;
             try
            {
                char[] strTrim = {'//',' '};
                strPath_ = strPath_.TrimEnd(strTrim);
                 // When Use in local, can create path auto; otherwise, make sure the path has existed.
                //if (!Directory.Exists(strPath_))
                //     Directory.CreateDirectory(strPath_);

                string strFile = strPath_ + @"/" + strDBName_;
                string strSrc = "Data Source=" + strDBsource_ + ";Initial Catalog=Master;Persist Security Info=True;User ID=" +
                        strUserName_ + ";Password=" + strUserPwd_;
                using (SqlConnection conMaster = new SqlConnection(strSrc))
                {
                    conMaster.Open();

                    // Check if the Database has existed first
                    string strExist = @"select * from dbo.sysdatabases where name='" + strDBName_ + @"'";
                    SqlCommand cmdExist = new SqlCommand(strExist, conMaster);
                    SqlDataReader readerExist = cmdExist.ExecuteReader();
                    bool bExist = readerExist.HasRows;
                    readerExist.Close();
                    if( bExist )
                    {
                        string strDel = @"drop database " + strDBName_;
                        SqlCommand cmdDel = new SqlCommand(strDel, conMaster);
                        cmdDel.ExecuteNonQuery();
                        Console.WriteLine("Database has exists, and del now");
                    }

                    // Create the database now;
                    string strDatabase = "Create Database " + strDBName_ + " on Primary" +
                        "(" +
                        @"name=N'" + strDBName_ + @".mdf'," +
                        @"Filename=N'" + strFile + @".mdf'," +
                        "size=4096KB,Maxsize=UNLIMITED,FileGrowth=10%)" + // 数据库文件至少为3M
                        "Log on" +
                        "(" +
                        "Name=N'" + strDBName_ + "'," +
                        @"FileName=N'" + strFile + @".ldf'," +
                        "size=1024KB,Maxsize=UNLIMITED,FileGrowth=10%)" +
                        "Collate chinese_prc_Ci_as"; // 按中文格式排序

                    SqlCommand cmdCreate = new SqlCommand(strDatabase, conMaster);
                    cmdCreate.ExecuteNonQuery();

                    conMaster.Close();
                }

                Console.WriteLine("Create OK");
                bSuccess = true;
            }
            catch (Exception e)
            {
                Console.WriteLine("Database failed: {0}", e.Message);
            }

            return bSuccess;
        }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值