Thursday, March 29, 2012
DTS from 2 sources ??
i want to load Data from 2 sources (access and mysql) the 2 source have
same schema ;how to load to cube the data and retrive the data of each
source and how configure DTS to continue from the last ID of the last
load exp :
source1 : product(id,,name)
(1,nokia 3310)
source 2 : product(id,,name)
(1,nokia 3310) ?
john1425
Posted via http://www.webservertalk.com
View this thread: http://www.webservertalk.com/message1052215.html
simply create a package where you do a lookup to get the last ID from a copy
of your table, then load the mysql database with a filter on the last ID,
then do the lookup again to get the last ID again and load the access table.
(store the lastid into a dts variable, and use it has a parameter for a
filter "select * from table where id > ?")
you'll have 1 copy of the table without duplicated IDs.
But regarding your configuration, you can directly merge information using
linked servers.
In SQL Server create 2 linked servers (1 to access 1 to mysql)
create a view like: select ... from mysql.db..table union select ... from
access...table
the union eliminate duplicated rows (but its a slow solution)
there is other solutions.
"john1425" <john1425.1orlsz@.mail.webservertalk.com> wrote in message
news:john1425.1orlsz@.mail.webservertalk.com...
> hi
> i want to load Data from 2 sources (access and mysql) the 2 source have
> same schema ;how to load to cube the data and retrive the data of each
> source and how configure DTS to continue from the last ID of the last
> load exp :
> source1 : product(id,,name)
> (1,nokia 3310)
> source 2 : product(id,,name)
> (1,nokia 3310) ?
>
> --
> john1425
> Posted via http://www.webservertalk.com
> View this thread: http://www.webservertalk.com/message1052215.html
>
sql
DTS from 2 sources ??
i want to load Data from 2 sources (access and mysql) the 2 source have same
schema ;how to load to cube the data and retrive the data of each source an
d how configure DTS to continue from the last ID of the last load exp :
source1 : product(id,,name)
(1,nokia 3310)
source 2 : product(id,,name)
(1,nokia 3310) 'simply create a package where you do a lookup to get the last ID from a copy
of your table, then load the mysql database with a filter on the last ID,
then do the lookup again to get the last ID again and load the access table.
(store the lastid into a dts variable, and use it has a parameter for a
filter "select * from table where id > ?")
you'll have 1 copy of the table without duplicated IDs.
But regarding your configuration, you can directly merge information using
linked servers.
In SQL Server create 2 linked servers (1 to access 1 to mysql)
create a view like: select ... from mysql.db..table union select ... from
access...table
the union eliminate duplicated rows (but its a slow solution)
there is other solutions.
"john1425" <john1425.1orlsz@.mail.webservertalk.com> wrote in message
news:john1425.1orlsz@.mail.webservertalk.com...
> hi
> i want to load Data from 2 sources (access and mysql) the 2 source have
> same schema ;how to load to cube the data and retrive the data of each
> source and how configure DTS to continue from the last ID of the last
> load exp :
> source1 : product(id,,name)
> (1,nokia 3310)
> source 2 : product(id,,name)
> (1,nokia 3310) '
>
> --
> john1425
> ---
> Posted via http://www.webservertalk.com
> ---
> View this thread: http://www.webservertalk.com/message1052215.html
>
Wednesday, March 21, 2012
DTS cube processing from a non sa account
A problem occurred while attempting to logon as the Windows user 'SQLAgentCmdExec': The parameter is incorrect.
When I set the Sql Agent proxy account to an windows administrator on the sql server it works fine.
However when the Sql Agent proxy account is not administrator I get the above error.
Please note that the Analysis Services is located on a different machine.
Thanks
LiorGrant admin privileges to the SQLAgent service account, which is required to carry on such tasks and to overcome this issue.|||Originally posted by Satya
Grant admin privileges to the SQLAgent service account, which is required to carry on such tasks and to overcome this issue.
Do you mean that the sqlagent stratup account should be windows sys admin?
Can I do it with less power priviliges?
Thanks
Lior|||You can do it, but you may have issues again if any of the jobs have to deal with admin tasks.
Its always better and recommended to keep SQL service accounts with Admin privileges on the box.|||Originally posted by Satya
You can do it, but you may have issues again if any of the jobs have to deal with admin tasks.
Its always better and recommended to keep SQL service accounts with Admin privileges on the box.
Hi,
Thanks again for your help.
Do you know what permissions are required for sql server to run cube processing that resides on a different machine.
Lior
Tuesday, February 14, 2012
DSV and Cube do not match - generates Key Errors
Hi All,
This is strange behaviour, hopefully I can resolve it without rebuilding the cube and all the dimensions from scratch.
I have a cube with a fact table, and a number of dimensions, including an EventType and Event Date. (Event Type is "Sale", "Return", etc.etc, Event Date is the date it occurred)
When I created the DSV for this I accidently joined the fact table EventTypeID field to the EventTimeID on the Event Date dimensions. Not suprisingly this gave me a key error, as my EventTypeID on the fact table has values from 1-12, and the EventTimeID records start at 10000 and go upwards.
Having seen the error I went into the DSV and changed the relationship so that the Event Date dimension table was joined to the fact table on the correct fields. I then checked using SQL that there were no missing keys or other oddities on the base tables. I then manually did FULL process on all the dimensions, then tried to process the cube.
No dice. The error still occurs, it still claims that there is a missing key on the Event Date dimension, and a little further investigation shows that it is still using EventTypeID as the joining key. I have manually re-processed all dimensions etc, but to no avail.
How do I get the cube to pick up the changes in the DSV? What I don't want to have to do is throw it all away, as there are a fair number of hierarchies etc I would have to re-create.
Any help appreciated.
Richard R.
The Error reported back is:
Errors in the OLAP storage engine:
The attribute key cannot be found:
Table: dbo_tbl_Sales_FACT_LOAD, Column: EventTypeID, Value: 1.
Errors in the OLAP storage engine:
The attribute key was converted to an unknown member because the attribute key was not found.
Attribute Tbl Time DIM of Dimension:
Event Date from Database: ProtoType Cubes,
Cube: Sales And Mailings, Measure Group: Tbl Sales And Mailing FACT LOAD,
Partition: Tbl Sales And Mailing FACT LOAD, Record: 1.
Unfortunately, the metadata is pulled from the DSV and embedded in the higher level objects (dimensions, cubes, measure groups, etc.) when those objects are created. You need to recreate the objects for it to pickup the revised metadata in the DSV. Just updating the DSV doesn't do it alone.
Sometimes if it is a simple change, you can script out the objects into an XMLA script and then recreate it from the script rather than taking the time to drag & drop new objects around the system. However, you have to be careful and be knowledgeable. It is straightforward to do -- you are just editing a flat file, but if there are lots of references and changes I wouldn't go down that path.
Sorry to give you the bad news.
_-_-_ Dave
|||
As the late, great, Kenny Everett would have said
"Oh Bum!"
Thanks Dave,
Richard
|||
I hope somebody releases an XML refresh & validation tool for this issue. I have been troubleshooting this one and other datatype & DSV errors for awhile, and it affects multiple dimensions.
I have found that by correcting the relationship, then going into the cube's dimensions and clicking on the ... next to the dimension, you can reselect the key field (the same field, just click it again) and it seems to do the trick.
Otherwise, it's 'view code' and manually changing the DSV & the objects affected.
|||Wow, I just sank a few hours of time because of this issue...has anyone seen an refresh/validation tool like Andrew indicated? I could easily see how it could save tons of time!DSV and Cube do not match - generates Key Errors
Hi All,
This is strange behaviour, hopefully I can resolve it without rebuilding the cube and all the dimensions from scratch.
I have a cube with a fact table, and a number of dimensions, including an EventType and Event Date. (Event Type is "Sale", "Return", etc.etc, Event Date is the date it occurred)
When I created the DSV for this I accidently joined the fact table EventTypeID field to the EventTimeID on the Event Date dimensions. Not suprisingly this gave me a key error, as my EventTypeID on the fact table has values from 1-12, and the EventTimeID records start at 10000 and go upwards.
Having seen the error I went into the DSV and changed the relationship so that the Event Date dimension table was joined to the fact table on the correct fields. I then checked using SQL that there were no missing keys or other oddities on the base tables. I then manually did FULL process on all the dimensions, then tried to process the cube.
No dice. The error still occurs, it still claims that there is a missing key on the Event Date dimension, and a little further investigation shows that it is still using EventTypeID as the joining key. I have manually re-processed all dimensions etc, but to no avail.
How do I get the cube to pick up the changes in the DSV? What I don't want to have to do is throw it all away, as there are a fair number of hierarchies etc I would have to re-create.
Any help appreciated.
Richard R.
The Error reported back is:
Errors in the OLAP storage engine:
The attribute key cannot be found:
Table: dbo_tbl_Sales_FACT_LOAD, Column: EventTypeID, Value: 1.
Errors in the OLAP storage engine:
The attribute key was converted to an unknown member because the attribute key was not found.
Attribute Tbl Time DIM of Dimension:
Event Date from Database: ProtoType Cubes,
Cube: Sales And Mailings, Measure Group: Tbl Sales And Mailing FACT LOAD,
Partition: Tbl Sales And Mailing FACT LOAD, Record: 1.
Unfortunately, the metadata is pulled from the DSV and embedded in the higher level objects (dimensions, cubes, measure groups, etc.) when those objects are created. You need to recreate the objects for it to pickup the revised metadata in the DSV. Just updating the DSV doesn't do it alone.
Sometimes if it is a simple change, you can script out the objects into an XMLA script and then recreate it from the script rather than taking the time to drag & drop new objects around the system. However, you have to be careful and be knowledgeable. It is straightforward to do -- you are just editing a flat file, but if there are lots of references and changes I wouldn't go down that path.
Sorry to give you the bad news.
_-_-_ Dave
|||
As the late, great, Kenny Everett would have said
"Oh Bum!"
Thanks Dave,
Richard
|||
I hope somebody releases an XML refresh & validation tool for this issue. I have been troubleshooting this one and other datatype & DSV errors for awhile, and it affects multiple dimensions.
I have found that by correcting the relationship, then going into the cube's dimensions and clicking on the ... next to the dimension, you can reselect the key field (the same field, just click it again) and it seems to do the trick.
Otherwise, it's 'view code' and manually changing the DSV & the objects affected.
|||Wow, I just sank a few hours of time because of this issue...has anyone seen an refresh/validation tool like Andrew indicated? I could easily see how it could save tons of time!DSV and Cube do not match - generates Key Errors
Hi All,
This is strange behaviour, hopefully I can resolve it without rebuilding the cube and all the dimensions from scratch.
I have a cube with a fact table, and a number of dimensions, including an EventType and Event Date. (Event Type is "Sale", "Return", etc.etc, Event Date is the date it occurred)
When I created the DSV for this I accidently joined the fact table EventTypeID field to the EventTimeID on the Event Date dimensions. Not suprisingly this gave me a key error, as my EventTypeID on the fact table has values from 1-12, and the EventTimeID records start at 10000 and go upwards.
Having seen the error I went into the DSV and changed the relationship so that the Event Date dimension table was joined to the fact table on the correct fields. I then checked using SQL that there were no missing keys or other oddities on the base tables. I then manually did FULL process on all the dimensions, then tried to process the cube.
No dice. The error still occurs, it still claims that there is a missing key on the Event Date dimension, and a little further investigation shows that it is still using EventTypeID as the joining key. I have manually re-processed all dimensions etc, but to no avail.
How do I get the cube to pick up the changes in the DSV? What I don't want to have to do is throw it all away, as there are a fair number of hierarchies etc I would have to re-create.
Any help appreciated.
Richard R.
The Error reported back is:
Errors in the OLAP storage engine:
The attribute key cannot be found:
Table: dbo_tbl_Sales_FACT_LOAD, Column: EventTypeID, Value: 1.
Errors in the OLAP storage engine:
The attribute key was converted to an unknown member because the attribute key was not found.
Attribute Tbl Time DIM of Dimension:
Event Date from Database: ProtoType Cubes,
Cube: Sales And Mailings, Measure Group: Tbl Sales And Mailing FACT LOAD,
Partition: Tbl Sales And Mailing FACT LOAD, Record: 1.
Unfortunately, the metadata is pulled from the DSV and embedded in the higher level objects (dimensions, cubes, measure groups, etc.) when those objects are created. You need to recreate the objects for it to pickup the revised metadata in the DSV. Just updating the DSV doesn't do it alone.
Sometimes if it is a simple change, you can script out the objects into an XMLA script and then recreate it from the script rather than taking the time to drag & drop new objects around the system. However, you have to be careful and be knowledgeable. It is straightforward to do -- you are just editing a flat file, but if there are lots of references and changes I wouldn't go down that path.
Sorry to give you the bad news.
_-_-_ Dave
|||
As the late, great, Kenny Everett would have said
"Oh Bum!"
Thanks Dave,
Richard
|||
I hope somebody releases an XML refresh & validation tool for this issue. I have been troubleshooting this one and other datatype & DSV errors for awhile, and it affects multiple dimensions.
I have found that by correcting the relationship, then going into the cube's dimensions and clicking on the ... next to the dimension, you can reselect the key field (the same field, just click it again) and it seems to do the trick.
Otherwise, it's 'view code' and manually changing the DSV & the objects affected.
|||Wow, I just sank a few hours of time because of this issue...has anyone seen an refresh/validation tool like Andrew indicated? I could easily see how it could save tons of time!DSO Questions
threaded process of these partitions.
Thres questions:
1) I am using a grid to show all the partitions, whether they have been
processed or not and what their Estimated rows are. During population of
this grid (basically just iterating Cube.MDStores[x]), 9 times out of 10
I
get this random divide by zero error. I'm definately not causing this.
This is my loop:
for i:=1 to FCube.MDStores.Count do
begin
FPartition:=FCube.MDStores.Item(i);
FEstimatedRows:=FPartition.EstimatedRows;
sgPartitionList.Cells[0,i]:=FPartition.Name;
if FPartition.State = olapStateCurrent then
sgPartitionList.Cells[1,i]:='Processed'
else
sgPartitionList.Cells[1,i]:='No';
sgPartitionList.Cells[2,i]:=IntToStr(FEstimatedRows);
// Brain fart mentioned below goes here.
end;
Interestingly enough (2AM brain fart), I added this:
if i mod 12 = 0 then
begin
Application.ProcessMessages;
Sleep(500);
Application.ProcessMessages;
end;
to the loop (every 12 iterations, sleep 500 ms after processing all system
messages in the queue) and it works. Any idea why?
2) This same behavior presents itself during partition creation. At 225
partitions (without the message processing and pause), the OLE system kicks
back divide by zero errors or Access Violations. I've added the pause and
ProcessMessages to the creation loop and it's fine, but it worries me. Is
DSO really that flaky or am I missing something?
3) During partition process: I have a multi-threaded approach. I call
CoInitialize (to create a new OLE session because apparently DSO is not
threaded correctly) create a connection to the server, the database, the
cube and the partitions and then call FPartitionObject.Process;
This actually works great, but my question is, sporadically, the processing
just stops. I check the data directory and there won't have been any
updates to the files in several hours (as opposed to minutes when the
processing is working) and the CPU usage will be almost nil. I kill the
application, I also have to restart the OLAP service. There is no pattern
here, sometimes it'll process the whole cube (> 200 partitions), sometimes
it'll die at 50, sometimes 100, sometimes 4. Any Ideas? I've included my
Delphi source for the meat of the thread below.
procedure TPartitionProcessThread.Execute;
var
FServerObject, FDatabaseObject, FCubeObject, FPartitionObject: OleVariant;
begin
FStartTime:=Now;
CoInitialize(nil);
try
try
FSuccess:=False;
while not TryEnterCriticalSection(FConnectSection)
do
Sleep(500);
try
FServerObject:=CreateOLEObject('DSO.Server');
FServerObject.Connect(FServerName);
FDatabaseObject:=FServerObject.MDStores.Item(FDatabaseName);
FCubeObject:=FDatabaseObject.MDStores.Item(FCubeName);
FPartitionObject:=FCubeObject.MDStores.Item(FPartitionName);
finally
LeaveCriticalSection(FConnectSection);
end;
FPartitionObject.Process;
FSuccess:=True;
except
on E: Exception do
begin
FErrorMessage:=E.Message;
FSuccess:=False;
end;
end;
finally
CoUninitialize;
FEndTime:=Now;
end;
end;
Thanks a lot!
-MalcolmOne possible issue is that DSO is written in VB and thus it will have
serious threading issues in this environment. This is why the PPU uses
separate processes (rather than threads) to process objects in parallel.
--
Dave Wickert [MSFT]
dwickert@.online.microsoft.com
Program Manager
BI SystemsTeam
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no rights.
"Malcolm Toon" <mtoon@. no-spam.retailsolutions.com> wrote in message
news:uVqYwLvLFHA.1396@.TK2MSFTNGP10.phx.gbl...
> I am using DSO to list all the partitions (> 200) in my cube and then do a
> threaded process of these partitions.
> Thres questions:
> 1) I am using a grid to show all the partitions, whether they have been
> processed or not and what their Estimated rows are. During population of
> this grid (basically just iterating Cube.MDStores[x]), 9 times out of
10 I
> get this random divide by zero error. I'm definately not causing this.
> This is my loop:
> for i:=1 to FCube.MDStores.Count do
> begin
> FPartition:=FCube.MDStores.Item(i);
> FEstimatedRows:=FPartition.EstimatedRows;
> sgPartitionList.Cells[0,i]:=FPartition.Name;
> if FPartition.State = olapStateCurrent then
> sgPartitionList.Cells[1,i]:='Processed'
> else
> sgPartitionList.Cells[1,i]:='No';
> sgPartitionList.Cells[2,i]:=IntToStr(FEstimatedRows);
> // Brain fart mentioned below goes here.
> end;
> Interestingly enough (2AM brain fart), I added this:
> if i mod 12 = 0 then
> begin
> Application.ProcessMessages;
> Sleep(500);
> Application.ProcessMessages;
> end;
> to the loop (every 12 iterations, sleep 500 ms after processing all system
> messages in the queue) and it works. Any idea why?
>
> 2) This same behavior presents itself during partition creation. At 225
> partitions (without the message processing and pause), the OLE system
kicks
> back divide by zero errors or Access Violations. I've added the pause and
> ProcessMessages to the creation loop and it's fine, but it worries me. Is
> DSO really that flaky or am I missing something?
> 3) During partition process: I have a multi-threaded approach. I call
> CoInitialize (to create a new OLE session because apparently DSO is not
> threaded correctly) create a connection to the server, the database, the
> cube and the partitions and then call FPartitionObject.Process;
> This actually works great, but my question is, sporadically, the
processing
> just stops. I check the data directory and there won't have been any
> updates to the files in several hours (as opposed to minutes when the
> processing is working) and the CPU usage will be almost nil. I kill the
> application, I also have to restart the OLAP service. There is no pattern
> here, sometimes it'll process the whole cube (> 200 partitions), sometimes
> it'll die at 50, sometimes 100, sometimes 4. Any Ideas? I've included my
> Delphi source for the meat of the thread below.
> procedure TPartitionProcessThread.Execute;
> var
> FServerObject, FDatabaseObject, FCubeObject, FPartitionObject:
OleVariant;
> begin
> FStartTime:=Now;
> CoInitialize(nil);
> try
> try
> FSuccess:=False;
> while not TryEnterCriticalSection(FConnectSection)
do
> Sleep(500);
> try
> FServerObject:=CreateOLEObject('DSO.Server');
> FServerObject.Connect(FServerName);
> FDatabaseObject:=FServerObject.MDStores.Item(FDatabaseName);
> FCubeObject:=FDatabaseObject.MDStores.Item(FCubeName);
> FPartitionObject:=FCubeObject.MDStores.Item(FPartitionName);
> finally
> LeaveCriticalSection(FConnectSection);
> end;
> FPartitionObject.Process;
> FSuccess:=True;
> except
> on E: Exception do
> begin
> FErrorMessage:=E.Message;
> FSuccess:=False;
> end;
> end;
> finally
> CoUninitialize;
> FEndTime:=Now;
> end;
> end;
>
> Thanks a lot!
> -Malcolm
>|||What about AS2005? Will it have the same problems? We're still in R&D,
Proof of Concept phase, so we're open to starting with AS2005 when we move
to actual development and production, but will it have the same problem?
Should I start coding our solutions to really be different EXEs? Is there
any alternative to DSO? Is there another API of some sort? Some way to
mimic what DSO does.
Thanks again for the help!
-Malcolm
"Dave Wickert [MSFT]" <dwickert@.online.microsoft.com> wrote in message
news:%23Go1Kh%23LFHA.3788@.tk2msftngp13.phx.gbl...
> One possible issue is that DSO is written in VB and thus it will have
> serious threading issues in this environment. This is why the PPU uses
> separate processes (rather than threads) to process objects in parallel.
> --
> Dave Wickert [MSFT]
> dwickert@.online.microsoft.com
> Program Manager
> BI SystemsTeam
> SQL BI Product Unit (Analysis Services)
> --
> This posting is provided "AS IS" with no warranties, and confers no
rights.
> "Malcolm Toon" <mtoon@. no-spam.retailsolutions.com> wrote in message
> news:uVqYwLvLFHA.1396@.TK2MSFTNGP10.phx.gbl...
a[vbcol=seagreen]
of[vbcol=seagreen]
I[vbcol=seagreen]
system[vbcol=seagreen]
> kicks
and[vbcol=seagreen]
Is[vbcol=seagreen]
> processing
pattern[vbcol=seagreen]
sometimes[vbcol=seagreen]
my[vbcol=seagreen]
> OleVariant;
>|||SQL 2005's management APIs (AMO) are all written in managed code. They are
totally thread-safe.
--
Dave Wickert [MSFT]
dwickert@.online.microsoft.com
Program Manager
BI SystemsTeam
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no rights.
"Malcolm Toon" <mtoon@. no-spam.retailsolutions.com> wrote in message
news:uo2aJ6%23LFHA.244@.tk2msftngp13.phx.gbl...
> What about AS2005? Will it have the same problems? We're still in R&D,
> Proof of Concept phase, so we're open to starting with AS2005 when we move
> to actual development and production, but will it have the same problem?
> Should I start coding our solutions to really be different EXEs? Is there
> any alternative to DSO? Is there another API of some sort? Some way to
> mimic what DSO does.
> Thanks again for the help!
> -Malcolm
> "Dave Wickert [MSFT]" <dwickert@.online.microsoft.com> wrote in message
> news:%23Go1Kh%23LFHA.3788@.tk2msftngp13.phx.gbl...
> rights.
do[vbcol=seagreen]
> a
been[vbcol=seagreen]
> of
10[vbcol=seagreen]
> I
this.[vbcol=seagreen]
> system
225[vbcol=seagreen]
> and
> Is
not[vbcol=seagreen]
the[vbcol=seagreen]
the[vbcol=seagreen]
> pattern
> sometimes
included[vbcol=seagreen]
> my
>
DSO partitioning problem
I have some DSO code which is partitioning a cube very nicely by deleting
and recreating old monthly partitions by cloning an original month partition.
When I actually come to test the data present in the cube I only ever get the
the original partitions data.
If I use the partition wizard to check out the filter settings for the new
partitions they all look OK - so I get an original partition for August and
then new ones for September, October, November.
In code I am setting the DimensionSlice, SliceValue and MemberKeyColumn
fields of the new partitions but get the feeling I am missing something.
Any ideas out there?
Yup. Find a copy of the SQL Server 2000 Resource Kit. On it was a utility
called the Metadata Scripter. When you installed it into Analysis Manager,
you can right-click on an object and generate a VB6 program which will
re-create that object. It generated DSO code. So the sequence of events to
figure out how to program with DSO is:
1) start from a known system.
2) do whatever you do in your custom application, then use the metadata
scriptor to generate "ProgA.vb".
3) go back to your known system
4) do whatever you do using Analysis Manager, then use the metadata scripter
to generate "ProgB.vb"
5) do a windiff comparing ProgA.vb and ProgB.vb -- and you will see that
there is some property or setting which your application is missing, but
Analysis Manager catches.
Hope that helps.
Dave Wickert [MSFT]
dwickert@.online.microsoft.com
Program Manager
BI Systems Team
SQL BI Product Unit (Analysis Services)
This posting is provided "AS IS" with no warranties, and confers no rights.
"badlydressedboy" <badlydressedboy@.discussions.microsoft.com> wrote in
message news:6D35B127-A2CB-442A-83BF-A63E4DBBE564@.microsoft.com...
> Hi,
> I have some DSO code which is partitioning a cube very nicely by deleting
> and recreating old monthly partitions by cloning an original month
> partition.
> When I actually come to test the data present in the cube I only ever get
> the
> the original partitions data.
> If I use the partition wizard to check out the filter settings for the new
> partitions they all look OK - so I get an original partition for August
> and
> then new ones for September, October, November.
> In code I am setting the DimensionSlice, SliceValue and MemberKeyColumn
> fields of the new partitions but get the feeling I am missing something.
> Any ideas out there?
DSO partitioning problem
I have some DSO code which is partitioning a cube very nicely by deleting
and recreating old monthly partitions by cloning an original month partition
.
When I actually come to test the data present in the cube I only ever get th
e
the original partitions data.
If I use the partition wizard to check out the filter settings for the new
partitions they all look OK - so I get an original partition for August and
then new ones for September, October, November.
In code I am setting the DimensionSlice, SliceValue and MemberKeyColumn
fields of the new partitions but get the feeling I am missing something.
Any ideas out there?Yup. Find a copy of the SQL Server 2000 Resource Kit. On it was a utility
called the Metadata Scripter. When you installed it into Analysis Manager,
you can right-click on an object and generate a VB6 program which will
re-create that object. It generated DSO code. So the sequence of events to
figure out how to program with DSO is:
1) start from a known system.
2) do whatever you do in your custom application, then use the metadata
scriptor to generate "ProgA.vb".
3) go back to your known system
4) do whatever you do using Analysis Manager, then use the metadata scripter
to generate "ProgB.vb"
5) do a windiff comparing ProgA.vb and ProgB.vb -- and you will see that
there is some property or setting which your application is missing, but
Analysis Manager catches.
Hope that helps.
--
Dave Wickert [MSFT]
dwickert@.online.microsoft.com
Program Manager
BI Systems Team
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no rights.
"badlydressedboy" <badlydressedboy@.discussions.microsoft.com> wrote in
message news:6D35B127-A2CB-442A-83BF-A63E4DBBE564@.microsoft.com...
> Hi,
> I have some DSO code which is partitioning a cube very nicely by deleting
> and recreating old monthly partitions by cloning an original month
> partition.
> When I actually come to test the data present in the cube I only ever get
> the
> the original partitions data.
> If I use the partition wizard to check out the filter settings for the new
> partitions they all look OK - so I get an original partition for August
> and
> then new ones for September, October, November.
> In code I am setting the DimensionSlice, SliceValue and MemberKeyColumn
> fields of the new partitions but get the feeling I am missing something.
> Any ideas out there?