Доброго дня!
Наткнулся на проблему: пытаюсь получить содержимое OLAP-куба
| Код | DS := 'select [Measures].[Infringement Count] on columns,' + ' [Infringement].[Month].[All].Children on rows ' + 'from [GIBDD] ';// + //'where [Infringement].[Year].&[2001]'; try CellSet1.Open(DS,'Provider=MSOLAP.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Analysis Services Project2;Data Source=127.0.0.1'); // T := TSafeArray.Create(); V:=VarArrayCreate([0,1], varVariant); V[0] := 0; V[1] := 0;
P := PSafeArray(TVarData(V).VArray); i := CellSet1.Axes[1].Positions.Count; ListBox1.AddItem(Cellset1.Item[P].Value, nil); CellSet1.Close; except on e: Exception do ShowMessage(e.Message); end;
|
ругается на выполнении операции Cellset1.Item[P].Value "Аргументы имеют неверный тип, выходят за пределеы допустимого диапазона или вступают в конфликт друг с другом". Этот код я передрал из примера с сайта http://www.cyberguru.ru/programming/delphi/delphi-ado-extensions-page8.html при этом измерения имеют 1 и 16 элементов соответственно. Перерыл все что можно, не пойму что не так. Может кто-нибудь подсказать что делать?
Заранее благодарен. |