zoukankan      html  css  js  c++  java
  • 通用cube refresh方案

    通用cube refresh c# script 解决方法:

    需要设置的变量如下:

    User::varcubename,User::varolapconnstr,User::varolapdbname

    Cube 名字,olap连接字符串,和db名字.

    这几个变量需要在script task中运用.

    Script task中的代码如下,可以根据具体需要做修改:

    public void Main()
    
    {
    
    // TODO: Add your code here
    
    Dts.TaskResult = (int)ScriptResults.Success;
    
       
    
    //User::varolapconnstr,User::varolapdbname
    
    var olapconnstr = Dts.Variables["User::varolapconnstr"].Value.ToString();
    
    var olapdbname = Dts.Variables["User::varolapdbname"].Value.ToString();
    
    var olapcubename = Dts.Variables["User::varcubename"].Value.ToString();
    
       
    
    //Connect db then process
    
    Server _server = new Server();
    
     
    
    try
    
    {
    
    _server.Connect(olapconnstr);
    
    if (_server.Connected)
    
    {
    
       
    
    Database _db = _server.Databases.FindByName(olapdbname);
    
    //Process dimensions
    
    if (_db != null)
    
    {
    
    foreach (Dimension _dim in _db.Dimensions)
    
    {
    
    _dim.Process(ProcessType.ProcessFull);
    
    }
    
       
    
    //Process cube
    
    if (!string.IsNullOrEmpty(olapcubename))
    
    {
    
    Cube _cb = _db.Cubes.FindByName(olapcubename);
    
    if (_cb != null)
    
    _cb.Process(ProcessType.ProcessFull);
    
    }
    
    else
    
    {
    
    //process every cube
    
    foreach (Cube _cb in _db.Cubes)
    
    {
    
    try
    
    {
    
    _cb.Process(ProcessType.ProcessFull);
    
    }
    
    catch (Exception ex)
    
    {
    
       
    
    Dts.Events.FireWarning(0, "CUBE Refresh", ex.Message, "", 0);
    
    }
    
       
    
    }
    
    }
    
    }
    
    }
    
    }
    
    catch (Exception ex)
    
    {
    
       
    
    Dts.Events.FireWarning(0, "CUBE Refresh", ex.Message, "", 0);
    
    }
    
    finally
    
    {
    
    if(_server.Connected)
    
    _server.Disconnect();
    
    }
    
     
    
    }
    View Code

     如果你只想processdata,则可以在代码里面把cube.processtype改成ProcessData即可.

    Looking for a job working at Home about MSBI
  • 相关阅读:
    代码发布一
    Qt之QThread(深入理解)
    Azure 云助手正式发布
    Qt之自定义控件(开关按钮)
    CentOS 7.x安装配置
    CSDN中的Bug
    Qt之findChild
    CentOS 6.x启动时网卡eth0未激活
    CentOS 6.x安装配置
    CentOS所有下载
  • 原文地址:https://www.cnblogs.com/huaxiaoyao/p/3451752.html
Copyright © 2011-2022 走看看