|
|
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 Hummer В общем согласен. Но если есть готовый конструктор, и оперирует он только с вьюхой, которая принадлежит только этому пользователю (не dbo.View, а [vasya pupkin].view) то как-то влом изобретать велосипед ;) зы Всем большое спасибо за response =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 12:50 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
Permissions CREATE VIEW permission defaults to the members of the db_owner and db_ddladmin fixed database roles. Members of the sysadmin fixed server role and the db_owner fixed database role can transfer CREATE VIEW permission to other users. To create a view, the user must have CREATE VIEW permission along with SELECT permission on the tables, views, and table-valued functions being referenced in the view, and EXECUTE permission on the scalar-valued functions being invoked in the view. Ладно пусть юзер - не владелец может создавать вьюхи, я имел ввиду другое. Создаст юзер вью без прав владельца и как эта вьюха будет называться?! user.myview И кто кроме этого юзера с ней может работать? автортак и представляю себе ситуацию - юзер хочет посмотреть объем реализации с дополнительными условиями... Все это называется анализ данных и делается анализ не с помощью создания вьюх (тем более пользовательских), а с помощью OLAP - кубов в идеале, или с помощью других средств. Например PivotTable PivotChart - это компоненты предназначенные именно для анализа данных. Разработчик создает процедуры, вью, расчетные таблицы (которые заполняются данными с помощью расчетных процедур). Дается построитель PivotTable PivotChart на эти таблицы, вью и процедуры. А юзер уже использует готовые объекты и инструментальные средства по работе с ними. Хотя каждому свое конечно. Если есть желание дать юзеру плодить серверные объекты, то пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:05 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 incold Абсолютно верно. Если без пивотов - то можно создавать вью и сделать интерфейс для условия where на эту вью. Но пивоты гораздо лучше и нагляднее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:10 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2psl To Senkin Victor: попробуй программно создать на сервере view (create view [user].[MyNewView] as ...) и сразу docmd.openview MyNewView,acViewDesign, acEdit А я и попробовал прежде чем постить - все работает и будет работать ибо акес всего лишь отсылает серверу имя процедуры и никак ничего не проверяет - ищи косяк у себя в коде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:12 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
блин, docmd.openview ни разу за последние 2 года у меня не было такого чтобы запрос выводился напрямую юзеру - через формы/отчеты - это пжста - но напрямую... Ну что ж, psl, - ты пал жертвой дурного дизайна :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:18 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 incold Никому кроме юзера с ними и не надо работать. Каждый юзер должен иметь возможность иметь набор хранимых условий (и полей которые необходимы - т.е. запросов) и менять их и с ними работать (только со своими) Пивоты нагляднее, но не хранятся как объекты - т.е. если у меня есть набор стандартных (для меня) условий - каждый раз фильтровать надо заново. К тому же пивот является только эмуляцией нормальных кубов olap (не поддерживает иерархию dimensions), тормозит при создании агрегатов (я кстати даже не понял до сих пор где он их хранит?) особенно если объем данных приличный. Уточню, что от запросов требуются не агрегаты, а список элементарных транзакций - именно список - так, что пивот тут как собаке... Ближе к телу родной "Фильтр по форме", но он накладывается на уровне приложения (как и пивот кстати) и тоже тормозит =) Фактически вы правы и правильнее предоставлять кустарный конструктор, но время-деньги ;) 2 Viktor Мдя...Даже не знаю что сказать. Но теоретически механизм мне представляется таковым. При запуске Docmd.OpenView вьюха ищется в локальной копии схемы(коллекции серверных объектов) (смотри CatalogObject) и если там вьюхи нет, то что выдается ошибка. Уточню, что речи идет только о ситуации, когда вьюха создана через команду серверу (например выполнение хп) и открывается в одной процедуре. Я решил проблему путем создания вьюхи методом Views.Append который обновляет коллекцию views без переконнекта к базе (может даже сначала создает вьюху в catalog локально, а потом отправляет команду серверу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:35 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 Victor Да, может и пал. Желаю Вам не оказываться в ситуации, когда приходиться жертвовать красотой ради кривого (по Вашему мнению) паллиатива. А что Вы предлагаете ? - создавать еще одно хранилище метаданных (в смысле таблицу с текстами стандартных для юзера запросов)? - так это еще неизвестно что кривее ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:40 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
авторПивоты нагляднее, но не хранятся как объекты - т.е. если у меня есть набор стандартных (для меня) условий - каждый раз фильтровать надо заново. Для этого можно сохранять настройки пивота в XML (или в таблицу в поле ntext), а при открытии подтягивать. Я так и делаю: есть таблица юзер, имя-пивота, настройки (ntext) При любом изменении пивота юзер может нажать на кнопку сохранить настройки, или нажать на кнопку восстановить по умолчанию (хранятся для каког-нибудь системного юзера) автортормозит при создании агрегатов (я кстати даже не понял до сих пор где он их хранит?) особенно если объем данных приличный У меня не тормозит - правда везде где можно поставил ограничение на просматриваемый период, с предупреждением. К тому же пивоты у меня строятся не на "живых" таблицах, а на статических - которые заполняются по ночам джобами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:49 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
2 incold Дельно. Принимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 13:53 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
А что Вы предлагаете ? - создавать еще одно хранилище метаданных (в смысле таблицу с текстами стандартных для юзера запросов)? из того описания задчачи я понял что - это похоже на обычный фильтр, при необходимости можно в отдельной таблице хранить и наиболее часто используемые фильтры. Только не понимаю - зачем нужно столько запросов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 14:11 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
следует читать: хранить и наиболее часто используемые настройки фильтров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 14:27 |
|
||
|
Как программно освежить список серверных объектов в adp
|
|||
|---|---|---|---|
|
#18+
Viktor, надо не только условия, но и сильно желательно список полей =( а то там их штук двадцать. Только не надо говорить, что так много никому не надо - это реальная специфика транзакций. Еще раз спасибо за ответ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 15:52 |
|
||
|
|

start [/forum/topic.php?fid=45&gotonew=1&tid=1676662]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
145ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 211ms |
| total: | 453ms |

| 0 / 0 |
