![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hi, When I process my cubes in parallel using the parallel process utility processing a cube can be locked by another if these 2 cubes are used in the same virtual cube. When the process A process the cube A, after the process it starts to process the virtual cube which also starts a process of the cube B, but this cube is already locked for process by the process B. so the process is aborted for the locked cube and rolled back. there is any option available to not process virtual cubes automatically after a cube process? The only option I can do is to use only 1 task, so no multitasks and no optimisation... thanks for your help. Jerome. |
#3
| |||
| |||
|
#4
| |||
| |||
|
|
Process the base cubes using parallelprocess utility(if multiple partitions are involved try dynamic creatin of .PCO file) and process the virtual cubes using DSO. DTS package steps should be organised to process the base cubes and then all the Virtual cubes serially Regards Prasanna |
#5
| |||
| |||
|
|
its what's my sequence do. but the problem is: 2 full process are executed on the same time , these 2 process are on 2 cubes related to the same virtual cube and there is no way to process the cubes only without processing the underlying virtual cube.So there is a lock. "pras" <prasannat (AT) gmail (DOT) com> wrote in message news:1120804720.748576.260770 (AT) g43g2000cwa (DOT) googlegroups.com... Process the base cubes using parallelprocess utility(if multiple partitions are involved try dynamic creatin of .PCO file) and process the virtual cubes using DSO. DTS package steps should be organised to process the base cubes and then all the Virtual cubes serially Regards Prasanna |
#6
| |||
| |||
|
|
its what's my sequence do. but the problem is: 2 full process are executed on the same time , these 2 process are on 2 cubes related to the same virtual cube and there is no way to process the cubes only without processing the underlying virtual cube. So there is a lock. "pras" <prasannat (AT) gmail (DOT) com> wrote in message news:1120804720.748576.260770 (AT) g43g2000cwa (DOT) googlegroups.com... Process the base cubes using parallelprocess utility(if multiple partitions are involved try dynamic creatin of .PCO file) and process the virtual cubes using DSO. DTS package steps should be organised to process the base cubes and then all the Virtual cubes serially Regards Prasanna |
#7
| |||
| |||
|
|
processing the virtual cubes is not enough I real want to process the cubes before When I right click on the "cubes" (with S) in the analysis services manager, I can process all the cubes in sequence and the virtual cubes are processed at the end only. how its possible to do the same thing by code? "pras" <prasannat (AT) gmail (DOT) com> wrote in message news:1121062604.724191.314530 (AT) g49g2000cwa (DOT) googlegroups.com... try using below DSO code and process the virtual cube Const adCmdText = 1 Const adCmdStoredProc = 4 Const adUseClient = 3 Function Main() Dim oDB Dim oCube, dsoServer Set oServer = CreateObject("DSO.Server") ' Connect to the server oServer.Connect "<OLAP Server Name>" If oServer.MDStores.Find("<OLAP Database name>") Then Set oDB = oServer.MDStores("<OLAP Database name>") Else Set oServer = Nothing End If 'Checking if the cubename is valid If oDB.MDStores.Find("<Virtual Cube Name>") Then Set oCube = oDB.MDStores("<Virtual Cube Name>") Else Set oDB = Nothing End If oCube.Process processful if Err.Number<>0 then Main= DTSTaskExecResult_Failure Exit Function End if Main= DTSTaskExecResult_Success End Function Regards, Prasanna (pras) Jéjé wrote: its what's my sequence do. but the problem is: 2 full process are executed on the same time , these 2 process are on 2 cubes related to the same virtual cube and there is no way to process the cubes only without processing the underlying virtual cube. So there is a lock. "pras" <prasannat (AT) gmail (DOT) com> wrote in message news:1120804720.748576.260770 (AT) g43g2000cwa (DOT) googlegroups.com... Process the base cubes using parallelprocess utility(if multiple partitions are involved try dynamic creatin of .PCO file) and process the virtual cubes using DSO. DTS package steps should be organised to process the base cubes and then all the Virtual cubes serially Regards Prasanna |
#8
| |||
| |||
|
|
processing the virtual cubes is not enough I real want to process the cubes before When I right click on the "cubes" (with S) in the analysis services manager, I can process all the cubes in sequence and the virtual cubes are processed at the end only. how its possible to do the same thing by code? "pras" <prasannat (AT) gmail (DOT) com> wrote in message news:1121062604.724191.314530 (AT) g49g2000cwa (DOT) googlegroups.com... try using below DSO code and process the virtual cube Const adCmdText = 1 Const adCmdStoredProc = 4 Const adUseClient = 3 Function Main() Dim oDB Dim oCube, dsoServer Set oServer = CreateObject("DSO.Server") ' Connect to the server oServer.Connect "<OLAP Server Name>" If oServer.MDStores.Find("<OLAP Database name>") Then Set oDB = oServer.MDStores("<OLAP Database name>") Else Set oServer = Nothing End If 'Checking if the cubename is valid If oDB.MDStores.Find("<Virtual Cube Name>") Then Set oCube = oDB.MDStores("<Virtual Cube Name>") Else Set oDB = Nothing End If oCube.Process processful if Err.Number<>0 then Main= DTSTaskExecResult_Failure Exit Function End if Main= DTSTaskExecResult_Success End Function Regards, Prasanna (pras) Jéjé wrote: its what's my sequence do. but the problem is: 2 full process are executed on the same time , these 2 process are on 2 cubes related to the same virtual cube and there is no way to process the cubes only without processing the underlying virtual cube. So there is a lock. "pras" <prasannat (AT) gmail (DOT) com> wrote in message news:1120804720.748576.260770 (AT) g43g2000cwa (DOT) googlegroups.com... Process the base cubes using parallelprocess utility(if multiple partitions are involved try dynamic creatin of .PCO file) and process the virtual cubes using DSO. DTS package steps should be organised to process the base cubes and then all the Virtual cubes serially Regards Prasanna |
#9
| |||
| |||
|
|
my code do this. Except I call directly the processpartition tool directly instead of creating a pco file. Also My code handle errors and reprocess dimensions if require: if there is any error during an incremental load of a dimension, then I perform a full process of the dimension. Which is not possible using the PCO file. Well... I'll create a monothread version of my code and I'll call the DSO.Process method directly. "pras" <prasannat (AT) gmail (DOT) com> wrote in message news:1121156781.304842.294590 (AT) g47g2000cwa (DOT) googlegroups.com... Create a table which holds the name of the cube and Olap database loop thru the table get the cube name and Olap database Process them one by one using parallel process utility by creating dynamic PCO file (thru code) for each cube and then process the virtual cube individually no need to use Parallel process utility for processing the virtual cubes. Processing the virtual cube is as per the code previously mentioned in the thread. Regards, Prasanna Jéjé wrote: processing the virtual cubes is not enough I real want to process the cubes before When I right click on the "cubes" (with S) in the analysis services manager, I can process all the cubes in sequence and the virtual cubes are processed at the end only. how its possible to do the same thing by code? "pras" <prasannat (AT) gmail (DOT) com> wrote in message news:1121062604.724191.314530 (AT) g49g2000cwa (DOT) googlegroups.com... try using below DSO code and process the virtual cube Const adCmdText = 1 Const adCmdStoredProc = 4 Const adUseClient = 3 Function Main() Dim oDB Dim oCube, dsoServer Set oServer = CreateObject("DSO.Server") ' Connect to the server oServer.Connect "<OLAP Server Name>" If oServer.MDStores.Find("<OLAP Database name>") Then Set oDB = oServer.MDStores("<OLAP Database name>") Else Set oServer = Nothing End If 'Checking if the cubename is valid If oDB.MDStores.Find("<Virtual Cube Name>") Then Set oCube = oDB.MDStores("<Virtual Cube Name>") Else Set oDB = Nothing End If oCube.Process processful if Err.Number<>0 then Main= DTSTaskExecResult_Failure Exit Function End if Main= DTSTaskExecResult_Success End Function Regards, Prasanna (pras) Jéjé wrote: its what's my sequence do. but the problem is: 2 full process are executed on the same time , these 2 process are on 2 cubes related to the same virtual cube and there is no way to process the cubes only without processing the underlying virtual cube. So there is a lock. "pras" <prasannat (AT) gmail (DOT) com> wrote in message news:1120804720.748576.260770 (AT) g43g2000cwa (DOT) googlegroups.com... Process the base cubes using parallelprocess utility(if multiple partitions are involved try dynamic creatin of .PCO file) and process the virtual cubes using DSO. DTS package steps should be organised to process the base cubes and then all the Virtual cubes serially Regards Prasanna |
![]() |
| Thread Tools | |
| Display Modes | |
| |