zoukankan      html  css  js  c++  java
  • C# 自动部署之附加数据库

    看着别人的网站能够自动安装,数据库自动附加,觉得很神奇很向往,但是始终米有去手动实践。

    网上找了下资料,发现实现起来其实很简单

    直接code

    private bool Attachdb()
            { 
                //sMDBFile 为mdf文件路径
                //sLog 为ldf文件路径
                string sMDBFile = Server.MapPath("/data/DBTest.mdf");
                string sLog = Server.MapPath("/data/DBTest_log.ldf");
                string dbname = "DBTest";
                try
                {
                    string sql = string.Empty;
    
                    if (System.IO.File.Exists(sMDBFile))
                    {
                        sql = "EXEC sp_attach_db   @dbname   =   '" + dbname +
                              "',   @filename1   =   '" + sMDBFile +
                              "',@filename2='" + sLog + "'";
                        SqlConnection conn = new SqlConnection(string.Format("Data Source={0};Initial Catalog=master;User ID={1};PWD={2}", "(local)", "sa", "123456"));
                        using (conn)
                        {
                            lock (conn)
                            {
                                conn.Open();
                                SqlCommand cmd = new SqlCommand(sql, conn);
                                cmd.ExecuteNonQuery();
                            }
                        }
                    }
                    return true;
                }
                catch
                {
                    return false;
                }
            }

    权限问题:

    用T-SQL命令附加数据库时,出现如下异常信息:

    无法打开物理文件 XXX.mdf"。操作系统错误 5:"5(拒绝访问。)"。 (Microsoft SQL Server,错误: 5120)  

    解决方案:

    找到xxx.MDF与xxx_log.LDF文件,右键-属性-安全-在组或用户名处添加Authenticated Users-更改该组权限为完全权限,再次附加成功。 

    好文推荐:

    http://blog.csdn.net/smartsmile2012/article/details/8782522  创建数据库 附加数据库等操作

    参考链接:

    http://blog.csdn.net/blackfield/article/details/6550499

  • 相关阅读:
    JQuery实现页面跳转
    CSS中让背景图片居中且不平铺
    C#后台将string="23.00"转换成int类型
    BootStrap的一些基本语法
    CSS实现文字阴影的效果
    BootStrap自定义轮播图播放速度
    BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
    C#常用快捷键
    jQuery hover() 方法
    鼠标移动有尾巴
  • 原文地址:https://www.cnblogs.com/xcsn/p/5449814.html
Copyright © 2011-2022 走看看