Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Проблема с CubeDef в Delphi 7 / 4 сообщений из 4, страница 1 из 1
08.10.2004, 16:05
    #32730330
JohNick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с CubeDef в Delphi 7
Хочу получить метаданные из MS AS, пишу приерно следующее:

var
CubesCounter : integer;
ActiveConnection : ADODB.TADOConnection;
dbCatalog : ADOMD_TLB.Catalog;
Cube : ADOMD_TLB.CubeDef;
begin
ActiveConnection := ADODB.TADOConnection.Create(self)
ActiveConnection.ConnectionString := 'Datasource=LocalHost; Provider=msolap; Initial Catalog=FoodMart 2000;';
ActiveConnection.Open();
dbCatalog := ADOMD_TLB.CoCatalog.Create();
dbCatalog.Set_ActiveConnection(ActiveConnection.ConnectionString);

for cubesCounter := 0 to dbCatalog.CubeDefs.Count - 1 do
begin
ShowMessage(dbCatalog.CubeDefs[cubesCounter].Name);
end;
end;

dbCatalog.CubeDefs.Count - возвращает кол-во кубов, но при попытке достать
cubedef - вылетает напрочь (Access violation...)

Видел топик с подобной проблемой, но решения там нет :(
Подскажите пожалуйста, как это можно вылечить.
...
Рейтинг: 0 / 0
08.10.2004, 17:51
    #32730634
PearlFisher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с CubeDef в Delphi 7
Сними галку "Stop on Delphi Exceptions" в опциях дебаггера.
...
Рейтинг: 0 / 0
11.10.2004, 08:14
    #32731480
JohNick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с CubeDef в Delphi 7
Спасибо за отклик, однако такой опции не нашел.
Помогло следующее:
в файле ADOMD_TLB.pas удалил из интерфейсов CubeDefs и CubeDefsDisp методы типа GhostMethod*, удалил интерфейсы CubeDef и CubeDefDisp,
и переименовал CubeDef25 и CubeDef25Disp в соответственно CubeDef и CubeDefDisp. И о чудо - заработало!
Вобщем методом проб и ошибок :)
...
Рейтинг: 0 / 0
12.10.2004, 11:45
    #32733574
AlexPAV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с CubeDef в Delphi 7
Я делаю примерно так:

var Catalog1: ICatalog;


Catalog1:=CreateComObject(StringToGUID('ADOMD.Catalog')) as ICatalog;
Catalog1._Set_ActiveConnection(OleVariant(ConnectionString));
If Catalog1.CubeDefs.Count > 0 then
For i := 0 to Catalog1.CubeDefs.Count-1 do
CubeDef1:= Catalog1.CubeDefs as CubeDef;
...
Далее обращаешься к CubeDef1.Name
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Проблема с CubeDef в Delphi 7 / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]