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

  • 相关阅读:
    Android EditText 文本框实现搜索和清空效果
    Android学习笔记之打钩显示输入的密码
    Mysql limit offset
    Android SDK更新以及ADT更新出现问题的解决办法
    Android Broadcast Receiver 使用入门
    立即执行函数
    JS 原型 & 继承
    JS 对象
    chrome extension overview
    JS 修改元素
  • 原文地址:https://www.cnblogs.com/xcsn/p/5449814.html
Copyright © 2011-2022 走看看