Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с процессингом через DSO
|
|||
|---|---|---|---|
|
#18+
Блин вроде опублиуовал кудато пропало-повторяю... Что имеем: Источник данных MS SQL 2K Ent/SP2 + на этом же сервере MS AS/SP2. Есть n-сколько кубов со всеми прилагающимися прибамбасами (shared dim, кубы побиты по partition, настоены права доступа и т.д.) всё красиво и сверкает. Есть ряд пакетов которые через DTS готовят исходные данные и запускают репроцес shared dim и partitions. Именно репроцес стартует при помощи ActiveX Script - создается объект DSO ну и используя его методы лопатится. Какое то время все шуршало - любо дорого глянуть. Но видать зведы не так стали или запросы корявые или у пользователей прикус не тот - начала возникать во время процеса ошибка #-2147221411, а описания никакого. Упрощенный пример кода: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. В данный момент "Обработка ошибки" это просто логирование событий. Так вот после команды Process сервер делает глубокий вдох, считает что ему положено (я надеюсь) и потом либо все OK либо вылетает по ошибке Err.Number=-2147221411 и Err.Description="...ни фига, ни какого описания..." Никакой закономерности пока не обнаружил. Ошибки возникают и в ночной утренний период (когда никто не работает) и днем (когда безумная тяга) Буквально сегодня добавилась новая фишка - после UnLock Err.Number=-2147417848 и Err.Description="...таже информативность..." Самое интересное что тут же запускаю тот же репроцес вручную в AM и само собой все прекрасно. Есть хоть какие то мысли по этому поводу ? Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2002, 03:54 |
|
||
|
Проблема с процессингом через DSO
|
|||
|---|---|---|---|
|
#18+
Примерно аналогичная проблема у меня возникла, AS Сервис паком 2, кубики обновлялись через ДТС, а один куб я редко обновлял и как то раз зашел что бы месяц в ДТС исправить, смотрю, а куба то нет. Т.е. в папке cubes ничего нету. Если в Манагере смотреть то все прекрасно есть и обновляется ручками, а в ДТС не видно. Остальные кубы регулярно обновляющиеся остались видны отовсюду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2002, 08:05 |
|
||
|
Проблема с процессингом через DSO
|
|||
|---|---|---|---|
|
#18+
Судя по огромному количеству мнений у всех все в порядке и таких проблем не возникало. Искрене рад! Но всёже. Может не из личного опыта, может где кто что слыхал краем уха. Еще одна закономерность в этом геморе: Репроцес начинается на 30-й минуте каждого часа в период с 5-30 до 22-30 (ночью крутится ряд других задач и все равно никто не работает). Так вот начинается значит день с ошибок. Прихожу, процесую вручную, и о чудо до конца дня не знаю проблем. Может есть какоето радикальное отличие между процесом через DSO и процесом запускаемым в AM? Надежд все меньше, но все равно заранее пасибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2002, 18:34 |
|
||
|
Проблема с процессингом через DSO
|
|||
|---|---|---|---|
|
#18+
ряд пакетов которые через DTS готовят исходные данные и запускают репроцес shared dim и partitions. Именно репроцес стартует при помощи ActiveX Script - создается объект DSO ну и используя его методы лопатится. А почему вы не используете для процессинга стандартные таски DTS-а ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2002, 18:47 |
|
||
|
Проблема с процессингом через DSO
|
|||
|---|---|---|---|
|
#18+
А почему вы не используете для процессинга стандартные таски DTS-а ? Всё очень просто. Куб(ы) побит(ы) по partitions-каждый part свой временной диапазон. Данные могут изменится в любом диапазоне. В скрипте я могу программно указать какой part обрабатывать. А в DTS-е, будь добр, укажи ручками чё процесим. Или там тоже можно повлиять из вне на процес процесинга? Может подскажете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2002, 20:03 |
|
||
|
Проблема с процессингом через DSO
|
|||
|---|---|---|---|
|
#18+
А в DTS-е, будь добр, укажи ручками чё процесим. Или там тоже можно повлиять из вне на процес процесинга? Может подскажете? По-моему через Dynamic Properties Task можно поменять все что угодно (ну или почти все). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2002, 20:17 |
|
||
|
Проблема с процессингом через DSO
|
|||
|---|---|---|---|
|
#18+
По-моему через Dynamic Properties Task можно поменять все что угодно (ну или почти все). АБСОЛУТНО ПРАВЫ !!! Переписал чтоб использовались стандартные пакеты DTS. И вот почти неделя прошла - полет нормальный. Огромное спасибо за совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2002, 15:39 |
|
||
|
Проблема с процессингом через DSO
|
|||
|---|---|---|---|
|
#18+
Выход конечно найден. Но все же вернемся к ошибке Err.Number=-2147221411 Если в DTS её обойти получается, то как быть в приложениях в которых не предусмотрена работа с DTS пакетами? И проблема такая, что при созданиии партиции её не получается процесить программно. Это становится возможным только после того как в менеджере сделать процесс один раз и в дальнейшем выполняй процесс куба сколько тебе вздумается. И так каждый раз для новой партиции. Может кто подскажет в чем собственно причина. На подобную ошибку ответа не нашел ни у кого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2005, 17:11 |
|
||
|
Проблема с процессингом через DSO
|
|||
|---|---|---|---|
|
#18+
короче расскажу гдето краем уха читал/слышал/пробовал сам фишка в том от какого аккаунта запускаються процессы если ручками, то от пользователя запустившего, если DTS то от пользователя создавшего или владельца, ну а в случае автоматического типа программного, тут может как угодно хорошо если еще от системы, а может и пустой пользователь. Это подтвердилось косвенно собственным печальным опытом. Пользуем DTS пакеты уже более года ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2005, 10:55 |
|
||
|
Проблема с процессингом через DSO
|
|||
|---|---|---|---|
|
#18+
А может привести кто-нибудь код создания в ActiveX-скрипте в DTS-пакете Partition, где период будет браться из глобальной переменной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2005, 11:19 |
|
||
|
Проблема с процессингом через DSO
|
|||
|---|---|---|---|
|
#18+
Валеккороче расскажу гдето краем уха читал/слышал/пробовал сам фишка в том от какого аккаунта запускаються процессы если ручками, то от пользователя запустившего, если DTS то от пользователя создавшего или владельца, ну а в случае автоматического типа программного, тут может как угодно хорошо если еще от системы, а может и пустой пользователь. Это подтвердилось косвенно собственным печальным опытом. Пользуем DTS пакеты уже более года Тут дело скорее всего даже не в аккаунте. Может в инициализации каких либо свойств перед процессингом партиции. Я упомяну ещё раз, что если выполнить процесс партиции ручками из менеджера, то после этого сколько угодно раз можно процессить и программно через DSO. Но я выставлял ручками все важные свойства и потому не пойму в чем дело. Может кто уже сталкивался с подобной проблемой и нашел решение? А пример вот: Function Main() Set Conn = CreateObject("ADODB.Connection") Conn.CommandTimeout = 0 Conn.Open "Provider=sqloledb;Server=" & DTSGlobalVariables("SQL_SERVER") & ";Database=<???????>;Trusted_Connection=yes" Set RS = CreateObject("ADODB.Recordset") RS.Open "SELECT count(*) FROM ???????",Conn If not(RS.EOF and RS.BOF) then Rows_Count = RS.Fields(0) Work_Year = DTSGlobalVariables("YEAR") Work_Month = DTSGlobalVariables("MONTH") Partition_Name = "?????????_" & Work_Year & "_" & Work_Month Set dsoServer = CreateObject("DSO.Server") Set dsoDatabase = CreateObject("DSO.MDStore") Set dsoCube = CreateObject("DSO.MDStore") Set dsoPartition = CreateObject("DSO.MDStore") Set dsoPartition_new = CreateObject("DSO.MDStore") '=============== connect to OLAP server =============== dsoServer.Connect DTSGlobalVariables("OLAP_SERVER") '=============== connect to the database OLAP =============== Set dsoDatabase = dsoServer.MDStores.Item(DTSGlobalVariables("OLAP_DB")) If <Условия некие> then ProcessPartition DTSGlobalVariables("OLAP_CUBE") End If ProcessPartition DTSGlobalVariables("OLAP_CUBE_ARC") end if Set dsoDatabase = Nothing dsoServer.CloseServer Set dsoServer = Nothing Main = DTSTaskExecResult_Success End Function Function ProcessPartition (CubeName) '=============== connect to the Cube =============== Set dsoCube = dsoDatabase.MDStores.Item(CubeName) If not(dsoCube.MDStores.Find(Partition_Name)) then '=============== Select first partition =============== Set dsoPartition = dsoCube.MDStores.Item(1) '=============== Add new partition =============== Set dsoPartition_new = dsoCube.MDStores.AddNew(Partition_Name) dsoPartition.Clone dsoPartition_new Set dsoPartition = Nothing Else Set dsoPartition_new = dsoCube.MDStores.Item(Partition_Name) End If '=============== Full Process Partition =============== dsoPartition_new.EstimatedRows = Rows_Count dsoPartition_new.AggregationPrefix=Partition_Name dsoPartition_new.Process ProcessFull Set dsoCube = Nothing Set dsoPartition_new = Nothing End Function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2005, 12:00 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=32084434&tid=1871541]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 382ms |

| 0 / 0 |
