powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / CommandText для Сводной Таблицы
6 сообщений из 6, страница 1 из 1
CommandText для Сводной Таблицы
    #35124401
intelmanager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Подскажите, формирую отчет в Excel. На листе имеется сводная таблица.
Есть объект PivotCache, из которого она получает данные. У него есть свойство Connection.
Источник данных - таблица на MS SQL Server 2000. Есть свойство CommandText, куда прописываю запрос к БД. Если в свойстве Connection прописано соединение через OLEDB, то свойство CommandText задается нормально, если через ODBC, то при попытке присвоить св-ву CommandText запрос возникает ошибка. Мне нужно соединяться именно через ODBC и св-во CommandText формируется динамически. Подскажите, пожалуйста, в чем ошибка?
...
Рейтинг: 0 / 0
CommandText для Сводной Таблицы
    #35125141
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего, неправильно создаешь ODBC коннект.
Показывай полностью макрос в обоих вариантах.
...
Рейтинг: 0 / 0
CommandText для Сводной Таблицы
    #35152239
intelmanager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подымаю тему еще раз, так как необходимость в данном отчете снова возникла.
С ODBC коннектом все нормально, проверено, вот строка: "ODBC;DRIVER=SQL Server;SERVER=COMP;Uid=intel;Pwd=1;;;DATABASE=tempbase"
Сам отчет содержит в себе 2 сводные таблицы, базирующиеся на внешнем источнике данных
и 5-ти сводных таблицах, базирующихся на этих двух.
Выборка представляет из себя результат выполнения хранимой процедуры на сервере.
До поры до времени, пока в процедуре не было курсоров, подключение происходило через OLEDB, все было отлично. Процедура усложнилась, добавились курсоры и при формировании отчета возникала ошибка. Решил подключаться через ODBC. Так вот если в отчете оставить две таблицы, базирующиеся на внешнем ист. данных, то все отлично формируется. При добавлении сводной таблицы , базирующейся на одной из этих таблиц возникает ошибка. Ошибка возникает при присвоении свойства CommandText. В хэлпе вроде как написано, что при подключении через OLEDB
надо вызывать Refresh, а при подключении через ODBC при присвоении CommandText автоматически происходит Refresh. Такое ощущени, что сводная таблица базирующаяся на сводной таблице не корректно обновляется. Может кто подскажет решение данной проблемы?
...
Рейтинг: 0 / 0
CommandText для Сводной Таблицы
    #35153775
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
intelmanagerДо поры до времени, пока в процедуре не было курсоров, подключение происходило через OLEDB, все было отлично. Процедура усложнилась, добавились курсоры и при формировании отчета возникала ошибка.Поясни, при чем здесь курсоры? Внутренние дела ХП клиента не волнуют совершенно. А вот если итоговый резалтсет из ХП изменился тогда могут быть проблемы, до
тех пор пока не объяснишь клиенту новую структуру резалтсета.

intelmanagerРешил подключаться через ODBC.В идеальном мире, драйвера ODBC и OLE DB работают идеально. А если они оба работают так как предполагается по документации, то и клиенту (в данном случае Экселю) пофигу какой именно интерфейс ты будешь использовать. Но это в идеальном мире, а в реальном драйвера бывает глючат. Можно попробовать взять более новые драйвера...

intelmanagerТак вот если в отчете оставить две таблицы, базирующиеся на внешнем ист. данных, то все отлично формируется. При добавлении сводной таблицы , базирующейся на одной из этих таблиц возникает ошибка. Ошибка возникает при присвоении свойства CommandText.Все игры начинаются с новенькой книги? Или ты правишь существующую книгу?

intelmanager В хэлпе вроде как написано, что при подключении через OLEDB надо вызывать Refresh, а при подключении через ODBC при присвоении CommandText автоматически происходит Refresh.Нет, автоматических рефрешей нету. А вот подготовка запроса есть.
Ты уверен, ты точно уверен что sql-команда синтаксически правильная и все имена таблиц и полей написаны без ошибок и у тебя есть права на чтение из этих таблиц/полей?

intelmanagerТакое ощущени, что сводная таблица базирующаяся на сводной таблице не корректно обновляется. Может кто подскажет решение данной проблемы?Сводная таблица базируется не на сводной таблице, а на кешированом резалтсете. При создании первой сводной таблицы Эксель кеширует резалтсет-источник, вторая сводная таблица может быть построенна на новом резалтсете или использовать уже созданный (для экономии памяти и ускорения работы). Но в итоге, если у тебя есть несколько сводных таблиц построенных на одном общем кешированном резалтсете, а ты этот резалтсет меняешь - рушаться все сводные таблицы. Эксель попытается конечно их подправить, например убить из сводной таблицы поля построенные на исчезнувшем из резалтсета поле, но это ему не всегда удается (в реальном мире, глюки бывают).
...
Рейтинг: 0 / 0
CommandText для Сводной Таблицы
    #35154149
intelmanager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблему решил.
Решил разобраться с подключением через OLE DB. Дело в том, что когда запускал ХП в SQL Server Enterprise Manager, то ХП отлично отрабатывала. В свойствах сводной таблицы писал вызов этой же процедуры(exec ...), возникала ошибка. Однако до добавления курсоров в процедуру данный вызов отрабатывал без ошибок. Проблема была решена следующим образом: в ХП была добавлена строка SET NOCOUNT ON, и все отлично заработало. Вот такие пироги...Спасибо за отклик...
...
Рейтинг: 0 / 0
CommandText для Сводной Таблицы
    #35154162
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
intelmanagerв ХП была добавлена строка SET NOCOUNT ONааа... ну да. О тривиальном то я и забыл :)
Когда эта опция выключена, ХП возвращает на самом деле не один, а два резалтсета. А с множественными резалтсетами у Экселя некоторые напряги...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / CommandText для Сводной Таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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