Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
Всем сдрасте! У меня возникла проблема (а точнее сразу несколько проблем). Очень прошу помочь, кто делал что-то подобное. Вообщем так. Сделал я несколько кубов. И написал web приложение (на Visual Studio 2003, VB.NET), которое с помощью OWC11 отображает эти кубы. Очень хочется, чтобы была возможность на компоненте делать DrillThrough. Почитал на этом форуме много постов на эту тему, но так ничего и не получилось. Пытался прикрутить toolpack к OWC. Но не смог внятно в нем разобраться. Мне надо, что-бы по двойному клику по Cell - открывалось новое окно браузера, в котором был бы результат DrillThrough запроса в виде таблицы. Может кто нибудь подскажет, как можно отловить двойной клик по cell и послать нужный DrillThrough-запрос кубу? Кстати в Excel у меня почемуто тоже DrillThrough не работает. Уже поставил Add-in для Excel. Проверил что везде (и в Cube Editore и в Role) DrillThrough разрешен, но все равно не пашет. И еще, пытался c помощью Visual Studio 2003 (VB.NET) послать DrillThrough - запрос. Но опять безуспешно. Смотрел примеры: 1) Dim con As New ADODB.Connection Dim rs As ADODB.Recordset con.ConnectionString = "Provider=MSOLAP.2; Data Source=localhost; Initial Catalog=FoodMart 2000;" con.Open() ... на этот код он мне выдает: Database 'FoodMart 2000' does not exist 2) Для этого примера я устанавливал ADOMD.NET: Dim Con As New AdomdConnection Con.ConnectionString = "Provider=MSOLAP.2; Data Source=localhost; Initial Catalog=FoodMart 2000;" Con.Open() ... на этот код он мне выдает: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение Помогите пожалуйста. Я уже 3 дня бьюсь, но даже ни на шаг не продвинулся. Заранее благодарю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 11:07 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
Да, чуть не забыл. У меня: MSAS 2000, Excel 2003, VS2003 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 11:49 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
NikolaySВсем сдрасте! 1) Dim con As New ADODB.Connection Dim rs As ADODB.Recordset con.ConnectionString = "Provider=MSOLAP.2; Data Source=localhost; Initial Catalog=FoodMart 2000;" con.Open() ... на этот код он мне выдает: Database 'FoodMart 2000' does not exist 2) Для этого примера я устанавливал ADOMD.NET: Dim Con As New AdomdConnection Con.ConnectionString = "Provider=MSOLAP.2; Data Source=localhost; Initial Catalog=FoodMart 2000;" Con.Open() ... на этот код он мне выдает: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение Что-то вы наверное умалчиваете, всё должно работать. Из консоли (Analysis Manager) к AS можете подсоединиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 14:11 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
Спасибо, что откликнулись. Да, конечно могу... Я через Analysis Manager эти кубы и делал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 14:23 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
NikolaySСпасибо, что откликнулись. Да, конечно могу... Я через Analysis Manager эти кубы и делал даже не знаю, что сказать...какие-то странности... может кто из гуру что-либо подскажет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 15:22 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
O_Vital, в любом случае спасибо за помощь. Я думал может быть с ролями там что не так. Добавил Domain Users в DataBase Roles. Разрешил все кубы. Не хочет. Пробовал в VS OleDbConnection сделать через Wizard: Выбрал OLE DB Provider for OLAP Services 8.0 Прописал localhost Выбрал FoodMart 2000 И нажал на кнопку "проверить подключение" Он сказал, что все ОК!!! Но при попытке в коде выполнить Open() подключения он выдает: Database 'FoodMart 2000' does not exist ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 16:04 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
SNIO_Vital, в любом случае спасибо за помощь. Я думал может быть с ролями там что не так. Добавил Domain Users в DataBase Roles. Разрешил все кубы. Не хочет. Пробовал в VS OleDbConnection сделать через Wizard: Выбрал OLE DB Provider for OLAP Services 8.0 Прописал localhost Выбрал FoodMart 2000 И нажал на кнопку "проверить подключение" Он сказал, что все ОК!!! Но при попытке в коде выполнить Open() подключения он выдает: Database 'FoodMart 2000' does not exist В данном случае проблема не с ролями, так как вы соединяетесь через консоль и создаете/редактируете кубы. А вы под тем же пользователем и с той же машины, что кубы создавали, пытаетесь из VB подсоединиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 16:53 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
Да, под темже и с тойже машины. И более того когда программно соединяюсь через OWC компоненту, то все ок. Примерно вот так: MyPT.ConnectionString = "Provider=MSOLAP.2;Data Source=localhost;Initial Catalog=FoodMart 2000" MyPT.DataMember = "Sales" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 17:25 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
Единственное различие в том, что я этот код: MyPT.ConnectionString = "Provider=MSOLAP.2;Data Source=localhost;Initial Catalog=FoodMart 2000" MyPT.DataMember = "Sales" пишу на клиентской части web-приложения А этот: Dim Con As New AdomdConnection Con.ConnectionString = "Provider=MSOLAP.2; Data Source=localhost; Initial Catalog=FoodMart 2000;" Con.Open() на серверной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 17:33 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
NikolayS, мне всё-таки кажется, вы что-то важное умалчиваете, расскажите подробнее архитектуру вашего решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 09:49 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
По проблеме: Dim Con As New AdomdConnection Con.ConnectionString = "Provider=MSOLAP.2; Data Source=localhost; Initial Catalog=FoodMart 2000;" Con.Open() ... на этот код он мне выдает: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение У меня установлен Win XP Стоит AS2000+sp4 Чесно говоря не могу точно понять какой SQL (скорее всего MSDE) VS2003 Скачал и установил ADOMD.NET 8.0 Далее просто создаю Web-проект на VB.NET. В Reference выбираю на вкладке .NET необходимые dll'ки Вытаскиваю кнопку. И на серверном коде пишу: Imports ADODB Imports Microsoft.AnalysisServices.AdomdClient ... Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim objConnection As New AdomdConnection objConnection.ConnectionString = "Provider=MSOLAP.2; Data Source=localhost; Initial Catalog=FoodMart 2000;" objConnection.Open() 'Dim con As New ADODB.Connection 'con.ConnectionString = "Provider=MSOLAP.2; Data Source=localhost; Initial Catalog=FoodMart 2000;" 'con.Open() End Sub Если вы считаете, что проблема может быть в MSDE, то могу сказать, что я таким же образом пытался приконектиться к другой машине, на которой установлен Win 2003 Server + (SQL Server 2000 + SP4) + (AS2000 + SP4). Кубы на этой (Win 2003 Server) машине я создавал с помощью консоли на своей локальной машине (Win XP) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 11:06 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
O_Vital, спасибо за помощь. Кое что начало получаться: Это просто чудеса! Код: Dim con As New ADODB.Connection con.ConnectionString = "Provider=MSOLAP.2; Data Source=localhost; Initial Catalog=FoodMart 2000;" con.Open() вчера не работал... Сегодня я его просто раскоментировал !!! И что бы вы думали... работает! (Во всяком случае не выдает ошибок) Я не понимаю как это возможно! У меня тогда возникли несколько вопросов Чем отличается ADOMD.NET и ADODB? Смогу ли я через ADODB делать DrillThrough запросы? И какие тут подводные камни! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 11:37 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
NikolaySЧем отличается ADOMD.NET и ADODB? ADODB - библиотека для подключения и работы с СУБД ADOMD.NET - библиотека для работы с MSAS NikolaySO_Vital, спасибо за помощь. Кое что начало получаться: Смогу ли я через ADODB делать DrillThrough запросы? через ADO раньше можно было, попробуй через ADODB, думаю тоже можно :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 12:13 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
O_Vital. Да получилось. Все работает через ADODB. Огромное спасибо! только у меня еще один вопрос: А как малой кровью отследить двойной клик по cell'у в OWC. Хочу сделать чтобы по двойному клику на cell, открывалось окно браузера в котором выполнялся бы нужный Drillthrough-запрос и отображал результат на экран. Смотрел в ToolPack, но там что-то очень наворочено. Есть менее сложный способ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 15:27 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
NikolaySO_Vital. Да получилось. Все работает через ADODB. Огромное спасибо! только у меня еще один вопрос: А как малой кровью отследить двойной клик по cell'у в OWC. Хочу сделать чтобы по двойному клику на cell, открывалось окно браузера в котором выполнялся бы нужный Drillthrough-запрос и отображал результат на экран. Смотрел в ToolPack, но там что-то очень наворочено. Есть менее сложный способ? Для отслеживания двойного клика у PivotTable есть OnDoubleClick. В обработчике надо проверять чтобы была выбрана именно мера и в путь - смотреть какие измерения выбраны, фильтры, формировать MDX и т.д. смотри ToolPack или поиск на форуме, где-то здесь была исправленная версия. Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 15:41 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
Я смотрел ToolPack, но не понял как прикрутить событие к Pivot Table Пишу на клиентской части <OBJECT id="MyPT" style="WIDTH: 502px; HEIGHT: 217px" height="217" width="502" classid="clsid:0002E55A-0000-0000-C000-000000000046" VIEWASTEXT> </OBJECT> Как можно к "MyPT" приспособить событие OnDoubleClick? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 16:56 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
<script language=vbscript> Sub MyPT_OnDoubleClick(evt) End Sub </script> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2006, 10:36 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
2 OWC Guru, Так не работает. написал: Sub MyPT_OnDoubleClick(evt) MsgBox "nah" End Sub При DblClick'e ничего не происходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2006, 12:24 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
Вот так работает: Sub MyPT_DblClick() MsgBox "123" End Sub OWC Guru, спасибо за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2006, 12:43 |
|
||
|
DrillThrough и OWC
|
|||
|---|---|---|---|
|
#18+
Еще вопросик. Ни как не могу заставить работать выдернутый код из ToolPack: (Необходимо составить нужный Drillthrough-запрос): Пишу следующий код: function GetTupleMDX() Dim sTupleMDX Dim i, iLen sTupleMDX = "" if (MyPT.Members = null) Then GetTupleMDX = "" End if iLen = MyPT.Members.length for i=0 To iLen sTupleMDX = sTupleMDX + MyPT.Members(i).UniqueName if (i < (iLen - 1)) then sTupleMDX = sTupleMDX + ", " end if next GetTupleMDX = sTupleMDX end function Sub MyPT_DblClick() Dim sMDX if (MyPT.SelectionType = "PivotAggregates") then if (MyPT.Selection.Count = 1) then sMDX = "DRILLTHROUGH " sMDX = sMDX + "SELECT FROM [" + MyPT.DataMember + "] " sMDX = sMDX + "WHERE (" sMDX = sMDX + GetTupleMDX() sMDX = sMDX + ")" MsgBox sMDX End if End if End Sub По двойному клику вызывается MyPT_DblClick(), а далее из MyPT_DblClick() вызывается GetTupleMDX(). И говорит, что Объект не поддерживает это св-во или метод: 'MyPT.Members' Подскажите, как правильно надо написать. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2006, 15:14 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=33533546&tid=1870567]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 307ms |

| 0 / 0 |
