Пример #1
0
        /// <summary>
        /// 还原数据库文件
        /// </summary>
        /// <param name="filePath">还原备份路径</param>
        /// <param name="restoreDbName">还原后数据库名称</param>
        /// <returns>还原是否成功</returns>
        /// 时间:2016-02-24 17:45
        /// 备注:
        public bool DataRestore(string filePath, string restoreDbName)
        {
            ValidateOperator.Begin().IsFilePath(filePath).NotNullOrEmpty(restoreDbName, "还原数据库名称");
            bool _result = false;
            SqlServerDataOperator _sqlHelper = new SqlServerDataOperator(ConnectString);
            string _sql = @" use master ;
                declare @s varchar(8000);
                select @s=isnull(@s,'')+' kill '+rtrim(spID) from master..sysprocesses where dbid=db_id(@dbid);
                select @s;exec(@s) ;RESTORE DATABASE @database FROM DISK = @filepath with replace";

            SqlParameter[] _paramters = new SqlParameter[3];
            _paramters[0] = new SqlParameter("@dbid", restoreDbName);
            _paramters[1] = new SqlParameter("@database", restoreDbName);
            _paramters[2] = new SqlParameter("@filepath", filePath);

            try
            {
                _sqlHelper.ExecuteNonQuery(_sql, _paramters);
            }
            catch (Exception ex)
            {
                ex.Data.Add("filePath", filePath);
                ex.Data.Add("ConnectString", ConnectString);
                ex.Data.Add("BackUpDataBase", BackUpDataBase);
                throw new FrameworkException(string.Format("还原数据库{0}失败,可能该数据库正在使用。", restoreDbName), ex);
            }

            return(_result);
        }
Пример #2
0
        /// <summary>
        /// 备份数据库
        /// </summary>
        /// <param name="filePath">备份路径,需带后缀;eg:D:\ddd.bakRM_DB20160224151425.bak</param>
        /// <returns>备份数据库是否成功</returns>
        /// 时间:2016-02-24 16:44
        /// 备注:
        public bool DataBackup(string filePath)
        {
            ValidateOperator.Begin().IsFilePath(filePath);
            bool _result = false;
            //创建连接对象
            SqlServerDataOperator _sqlHelper = new SqlServerDataOperator(ConnectString);

            DropBackupDevice(_sqlHelper);
            CreateBackupDevice(_sqlHelper, filePath);

            try
            {
                SqlParameter[] _paramters = new SqlParameter[2];
                _paramters[0] = new SqlParameter("@dataBase", BackUpDataBase);
                _paramters[1] = new SqlParameter("@descdataBase", BackUpDataBase);
                string _sql = "BACKUP DATABASE @dataBase TO @descdataBase WITH INIT";
                _sqlHelper.ExecuteNonQuery(_sql, _paramters);
                _result = false;
            }
            catch (Exception ex)
            {
                ex.Data.Add("filePath", filePath);
                ex.Data.Add("ConnectString", ConnectString);
                ex.Data.Add("BackUpDataBase", BackUpDataBase);
                throw new FrameworkException(string.Format("备份数据库{0}失败。", BackUpDataBase), ex);
            }

            return(_result);
        }
Пример #3
0
 /// <summary>
 /// 删除已有的备份设备
 /// </summary>
 /// <param name="sqlHelper">SqlServerHelper</param>
 /// 时间:2016-02-24 16:00
 /// 备注:
 private void DropBackupDevice(SqlServerDataOperator sqlHelper)
 {
     try
     {
         SqlParameter[] _paramters = new SqlParameter[1];
         _paramters[0] = new SqlParameter("@logicalname", BackUpDataBase);
         sqlHelper.StoreExecuteNonQuery("sp_dropdevice", _paramters);//删除备份设备
     }
     catch (Exception)
     {
     }
 }
Пример #4
0
 /// <summary>
 /// 创建数据库的备份逻辑设备
 /// </summary>
 /// <param name="sqlHelper">SqlServerHelper</param>
 /// <param name="filePath">备份路径</param>
 /// 时间:2016-02-24 16:05
 /// 备注:
 private void CreateBackupDevice(SqlServerDataOperator sqlHelper, string filePath)
 {
     try
     {
         SqlParameter[] _paramters = new SqlParameter[3];
         _paramters[0] = new SqlParameter("@devtype", "disk");
         _paramters[1] = new SqlParameter("@logicalname", BackUpDataBase);
         _paramters[2] = new SqlParameter("@physicalname", filePath);
         sqlHelper.StoreExecuteNonQuery("sp_addumpdevice", _paramters);
     }
     catch (Exception)
     {
     }
 }
Пример #5
0
        public void ToDataTableTest()
        {
            SqlServerDataOperator _sqlHelper = new SqlServerDataOperator(@"server=YANZHIWEI-PC\SQLEXPRESS;database=AdventureWorks2014;uid=sa;pwd=sasa;");
            string         _sql    = @"SELECT [AddressID]
                                  ,[AddressLine1]
                                  ,[AddressLine2]
                                  ,[City]
                                  ,[StateProvinceID]
                                  ,[PostalCode]
                                  ,[rowguid]
                                  ,[ModifiedDate]
                                  FROM [Person].[Address]";
            List <Address> _result = _sqlHelper.ExecuteReader <Address>(_sql, null);
            DataTable      _actual = GeneralMapper.ToDataTable <Address>(_result);

            Assert.IsTrue(_actual.Rows.Count > 0);
        }
Пример #6
0
 public void Init()
 {
     sqlHelper = new SqlServerDataOperator(@"server=YANZHIWEI-IT-PC\SQLEXPRESS;database=Northwind;uid=sa;pwd=sasa;");
 }
Пример #7
0
 public void Init()
 {
     sqlHelper = new SqlServerDataOperator(@"Server=YANZHIWEI-IT-PC\SQLEXPRESS;DataBase=Northwind;User Id=sa;Password=sasa;");
 }
        public void InitConnection()
        {
            string _sqlConnectString = @"server=YANZHIWEI-PC\SQLEXPRESS;database=AdventureWorks2014;uid=sa;pwd=sasa;";

            SqlHelper = new SqlServerDataOperator(_sqlConnectString);
        }
        public void ProcessRequest(HttpContext context)
        {
            string _actionType = context.Request.Params["action"].ToStringOrDefault("UnKown");

            if (_actionType.CompareIgnoreCase("getLocationList"))
            {
                int _pageIndex = context.Request.Params["PageIndex"].ToInt32OrDefault(1),
                    _pageSize  = context.Request.Params["PageSize"].ToInt32OrDefault(10);
                SqlServerDataOperator _helper     = new SqlServerDataOperator(@"Server=YANZHIWEI-IT-PC\SQLEXPRESS;database=Northwind;user id=sa;Password=sasa");
                PagedList <Order>     _pageResult = _helper.ExecutePageQuery <Order>("[Orders]", "*", "OrderID", OrderType.Desc, string.Empty, _pageSize, _pageIndex);
                AjaxResult            _result     = new AjaxResult(string.Empty, AjaxResultType.Success, _pageResult);
                string _json = SerializeHelper.JsonSerialize(new JsonPagedList <Order>(_pageResult)).ParseJsonDateTime();
                context.Response.Write(_json);
            }
            else if (_actionType.CompareIgnoreCase("exportLocationExcel"))
            {
                SqlServerDataOperator _helper     = new SqlServerDataOperator(@"Server=YANZHIWEI-IT-PC\SQLEXPRESS;database=JooWMS;user id=sa;Password=sasa");
                PagedList <Location>  _pageResult = _helper.ExecutePageQuery <Location>("[Location]", "*", "ID", OrderType.Desc, string.Empty, 10, 1);
                DataTable             _result     = GeneralMapper.ToDataTable <Location>(_pageResult, new string[4] {
                    "LocalNum", "LocalBarCode", "LocalName", "StorageNum"
                });
                string _filePath = context.Server.MapPath("~/UploadFiles/");

                if (!Directory.Exists(_filePath))
                {
                    Directory.CreateDirectory(_filePath);
                }

                string _filename = string.Format("库位管理{0}.xls", DateTime.Now.ToString("yyyyMMddHHmmss"));
                NPOIExcel.ToExcel(_result, "库位管理", "库位", Path.Combine(_filePath, _filename));
                context.CreateResponse(("/UploadFiles/" + _filename).Escape(), AjaxResultType.Success, string.Empty);
            }
            else
            {
                context.ExecutePageQuery <Person>((pageLength, pageIndex, orderIndex, orderBy) =>
                {
                    var persons = GetPersons();
                    Func <Person, object> order = p =>
                    {
                        if (orderIndex == 0)
                        {
                            return(p.Id);
                        }

                        return(p.Name);
                    };

                    if ("desc" == orderBy)
                    {
                        persons = persons.OrderByDescending(order);
                    }
                    else
                    {
                        persons = persons.OrderBy(order);
                    }

                    //错误测试
                    //DataTablePageResult result = new DataTablePageResult();
                    //result.ExecuteMessage = "测试错误";
                    //result.ExecuteState = HttpStatusCode.BadGateway;
                    //正确测试
                    DataTablePageResult result  = new DataTablePageResult();
                    result.iTotalDisplayRecords = persons.Count();
                    List <Person> _personList   = new List <Person>();
                    result.iTotalRecords        = persons.Count();
                    result.aaData       = persons.Skip(pageIndex).Take(pageLength);
                    result.ExecuteState = HttpStatusCode.OK;
                    return(result);
                });
                // // Those parameters are sent by the plugin
                // var iDisplayLength = int.Parse(context.Request["iDisplayLength"]);
                // var iDisplayStart = int.Parse(context.Request["iDisplayStart"]);
                // var iSortCol = int.Parse(context.Request["iSortCol_0"]);
                // var iSortDir = context.Request["sSortDir_0"];
                // // Fetch the data from a repository (in my case in-memory)
                // var persons = GetPersons();
                // // Define an order function based on the iSortCol parameter
                // Func<Person, object> order = p =>
                // {
                //     if (iSortCol == 0)
                //     {
                //         return p.Id;
                //     }
                //     return p.Name;
                // };
                // // Define the order direction based on the iSortDir parameter
                // if ("desc" == iSortDir)
                // {
                //     persons = persons.OrderByDescending(order);
                // }
                // else
                // {
                //     persons = persons.OrderBy(order);
                // }
                // // prepare an anonymous object for JSON serialization
                // var result = new
                // {
                //     iTotalRecords = persons.Count(),
                //     iTotalDisplayRecords = persons.Count(),
                //     aaData = persons
                //         .Skip(iDisplayStart)
                //         .Take(iDisplayLength)
                // };
                // //var serializer = new JavaScriptSerializer();
                //// var json = SerializationHelper.JsonSerialize(result);// serializer.Serialize(result);
                //  context.CreateResponse(result, System.Net.HttpStatusCode.OK);
                // //context.Response.ContentType = "application/json";
                // //context.Response.Write(json);
            }
        }
Пример #10
0
 /// <summary>
 /// 构造函数,用于初始化sql Server数据连接
 /// </summary>
 /// <param name="connectString">Sql Server连接字符串</param>
 /// 时间:2016-04-29 10:18
 /// 备注:
 public SqlServerProvider(string connectString)
 {
     ValidateOperator.Begin().NotNullOrEmpty(connectString, "Sql Server连接字符串");
     ConnectString = connectString;
     sqlHelper     = new SqlServerDataOperator(connectString);
 }
Пример #11
0
        public void InitConnection()
        {
            string _sqlConnectString = @"server=YANZHIWEI-IT-PC\SQLEXPRESS;database=Sample;uid=sa;pwd=sasa;";

            SqlHelper = new SqlServerDataOperator(_sqlConnectString);
        }