Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Проблема с RecordSet.NextRecordSet() / 12 сообщений из 12, страница 1 из 1
07.05.2004, 00:13
    #32509930
mnak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с RecordSet.NextRecordSet()
Создаю MDX запрос к OLAP серверу (MS SQL).
Куб состоит из 2-х партиций (Warehouse). Возвращаются 2-а рекордсета, но один из них пустой.
Кто-нибудь сталкивался с подобной проблемой?
...
Рейтинг: 0 / 0
08.05.2004, 19:18
    #32511573
mnak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с RecordSet.NextRecordSet()
Запрос имеет вид:

DRILLTHROUGH
SELECT from [Warehouse]
where ([Product].[All Products].[Drink])

перебираю значения так:
...
rstCompound.Open SQLCompound, Cnxn, adOpenForwardOnly, adLockReadOnly
Do Until rstCompound Is Nothing
Cells(Row, 1) = "Contents of recordset #" & intCount
RecCount = 0
Row = Row + 1


Do Until rstCompound.EOF

Row = Row + 1
RecCount = RecCount + 1
For j = 1 To rstCompound.Fields.Count
Cells(Row, j) = rstCompound.Fields(j - 1)
Next
rstCompound.MoveNext
Loop
Row = Row + 1
Set rstCompound = rstCompound.NextRecordset(Affected)
intCount = intCount + 1
Loop

Помогите кто может!!!!!!!!
...
Рейтинг: 0 / 0
08.05.2004, 21:07
    #32511587
Alex Fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с RecordSet.NextRecordSet()
Из MSDN. Статья "Generating Multiple Recordsets"
Note If you are using a SQL Server API server cursor, you cannot execute a Transact-SQL statement or stored procedure that generates more than one result set. If you need to generate multiple result sets, use a client cursor by leaving the cursor properties of the Recordset object set to their defaults (for example, forward only/read-only (adOpenForwardOnly) and an editing lock of adLockReadOnly).

Я могу ошибаться(английский не мой родной), но попробуй без этих свойств (adOpenForwardOnly,adLockReadOnly)
...
Рейтинг: 0 / 0
09.05.2004, 01:28
    #32511635
mnak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с RecordSet.NextRecordSet()
Спасибо, что откликнулись, но это решение проблемы не помогло.
У меня почему-то возникает такое чувство, что это может быть из-за того, что у меня evaluation version. Хотя я и поставил SP3a.
Если кто-то будет так любезен, чтобы скачать прикрепленный файл и запустить у себя на машине (обещаю, это не вирус), буду счастлив знать результат (Сколько вернётся recordset-ов).
После открытия в Excell необходимо запустить единственную форму и нажать на кнопочку Push me.

Спасибо
Для связи cym2000@mail.ru
...
Рейтинг: 0 / 0
10.05.2004, 01:12
    #32511849
Alex Fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с RecordSet.NextRecordSet()
Изначально действительно не пашет. RSCount=1.
Но делаем магические пассы...бъём в бубен.... режем петуха...штрыкаем иголкой в очкастую куклу... и в строке
Set rstCompound = rstCompound.NextRecordset(Affected) убираем то что в скобках. Вааще. Напроч. Т.Е.
Set rstCompound = rstCompound.NextRecordset
У меня заработало.
...
Рейтинг: 0 / 0
10.05.2004, 20:31
    #32512283
mnak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с RecordSet.NextRecordSet()
Эту ошибочку нашёл уже после того, как запостил.
Исправил, но всё-равно возвращается 2 рекордсета из которых всего один заполнен.
Уже переставил винду (WIN 2003), MS SQL 2000 (SP3a), AS (SP3a), и всё-равно ничего не получается, второй рекордсет - пустой.
Провёл эксперемент, при подключении к SQL серверу и выполнении сложного запроса (возвращающего более одного рекордсета), всё работает. Так что остаётся всего 2 варианта:
1) Либо я что-то недонастроил в AS
2) Ошибка в ДНК :(
но будем надеяться, всё-же первое.


Народ, помогите, это часть диплома, надо ОЧЕНЬ СРОЧНО.
...
Рейтинг: 0 / 0
10.05.2004, 20:54
    #32512292
Alex Fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с RecordSet.NextRecordSet()
Хм...
Работает. Чесслово. Вначале тоже пробовал на другом кубе.Не было стандарных примеров под рукой. Вот только шо опять загрузил файлик убрал (Affected). Сразу правда ругнулось что куб не дизайнен для DRILLTHROUGH. Fix-им данный трабл. Говорим Select All. И после этого сразу процедурка выдает
Код: plaintext
1.
RecordSet  1  has  0  records 
RecordSet  2  has  401  records

MSSQL 2k EE(SP3a); MSAS2k(SP3a); Win2k
...
Рейтинг: 0 / 0
10.05.2004, 21:41
    #32512304
mnak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с RecordSet.NextRecordSet()
Как я вижу, данные были вытянуты только из одной партиции, ведь RecordSet 1 has 0 Records.
Но, это же неправильно.
Выходит, что вытягиваются данные только из партиции по-умолчанию.
Посмотрите плз, есть ли среди вытянутых данных, данные из различных партиций.

Спасибо за помощь.
...
Рейтинг: 0 / 0
10.05.2004, 21:59
    #32512311
Alex Fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с RecordSet.NextRecordSet()
Блин... Все просто.
Default для [Time] = 1997, вот он и валит все в RS2.
Исправь в запросе where ([Product].[All Products].[Drink],[Time].[1998]) и данные будут в RS1.
А вот очеродности я понять не могу.
...
Рейтинг: 0 / 0
10.05.2004, 22:04
    #32512316
mnak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с RecordSet.NextRecordSet()
Это конечно хорошо, но я хочу получить полный срез (т.е. для 1997 и 1998 года). По-идеи, раз я не указал какой год брать, мне должны вернуться все данные (за все года). Может я не прав, но мне так кажется.
Ещё раз спасибо за поддержку.

P.S. to Alex Fox: не могли бы вы меня авторизировать в ICQ (#108321762).
...
Рейтинг: 0 / 0
10.05.2004, 22:10
    #32512321
Alex Fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с RecordSet.NextRecordSet()
Добавляем (All) in Time и убираем Default
...
Рейтинг: 0 / 0
10.05.2004, 22:15
    #32512323
mnak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с RecordSet.NextRecordSet()
Получилось, УРААААААААААААА.
Превеликое спасибо FOX ALEX.
)))))))))))))))))))))))))))))))
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Проблема с RecordSet.NextRecordSet() / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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