|
|
|
Общие справочники для разных бд
|
|||
|---|---|---|---|
|
#18+
Есть бд mssql 2000. Предприятие разделилось на несколько. Создал несколько бд для каждого предприятия. Сначала справочники были одинаковые, сейчас получается зоопарк тк в одну бд вносят контрагента, в другую нет или под другим именем и тд. Скоро все данные надо переносить в новую бд PostgreSQL где будет одна бд для всех предприятий. Синхронизировал справочники, создал в одной бд тригера INSTEAD OF INSERT, UPDATE в других запретил редактирование. Во всех таблицах поля с IDENTITY. Но не учел, что SET IDENTITY_INSERT: Permissions Execute permissions default to the sysadmin fixed server role, and the db_owner and db_ddladmin fixed database roles, and the object owner. Юзерам права не дам. Как быть ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 11:03 |
|
||
|
Общие справочники для разных бд
|
|||
|---|---|---|---|
|
#18+
drunk2Как быть ? Посмотреть в сторону паттернов интеграции. http://enterpriseintegrationpatterns.com http://www.books.ru/shop/books/479716 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 12:22 |
|
||
|
Общие справочники для разных бд
|
|||
|---|---|---|---|
|
#18+
drunk2Юзерам права не дам. Как быть ? Теперь уже хороших рецептов нет. Надо было сразу писать базу так, что бы она могла работать с несколькими предприятиями. ========== Хотя... Какой смысл вести одинаковых контрагентов для разных предприятий? Ну и пусть каждое из них заводит себе тех, которыв ему нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 20:37 |
|
||
|
Общие справочники для разных бд
|
|||
|---|---|---|---|
|
#18+
Cat2 drunk2Юзерам права не дам. Как быть ? Теперь уже хороших рецептов нет. Надо было сразу писать базу так, что бы она могла работать с несколькими предприятиями. ========== Хотя... Какой смысл вести одинаковых контрагентов для разных предприятий? Ну и пусть каждое из них заводит себе тех, которыв ему нужны. А целостность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 21:31 |
|
||
|
Общие справочники для разных бд
|
|||
|---|---|---|---|
|
#18+
>Скоро все данные надо переносить в новую бд PostgreSQL где будет одна бд для всех предприятий. Я такое делал. В БД PostgreSQL для каждого юрлица создается своя схема, например, roga для "ООО Рога", куда пихаются таблицы с данными, например, складскими документами, а общие справочники, например, справочник фирм, остаются в схеме public. Тогда при входе юзера с "ООО Рога" делаем set search_path=roga,public; и при запросе select * from "Складские документы" имеем свои документы, а при запросе select "Складские документы".*, "Контрагенты".name from "Складские документы", "Контрагенты" where ...бла.бла.бла имеем связку своих документов и общего справочника фирм. Такой подход очень удобен. Ясно дело, что можно именовать таблицы и так: roga."Складские документы" public."Контрагенты" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 18:51 |
|
||
|
Общие справочники для разных бд
|
|||
|---|---|---|---|
|
#18+
> для каждого юрлица создается своя схема Тщательно задокументируйте Ваше решение - и в FAQ, в раздел "Типичные ошибки". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 19:56 |
|
||
|
Общие справочники для разных бд
|
|||
|---|---|---|---|
|
#18+
Стандартный подход для решения таких задач, это внесение понятия "Текущая организация", которая либо привязана к пользователю, либо выбирается во время начала сеанса работы. Соответственно все разделяемые справочники включают в себя идентификатор организации. А общие справочники нет. Например Axapta поддерживант более сложный механизм алиасов, к которым можно привязывать несколько организаций и разделять справочники между несколькими организациями, но это нужно для всяких холдингов, и в простом случае с этим заморачиваться не стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2007, 09:42 |
|
||
|
Общие справочники для разных бд
|
|||
|---|---|---|---|
|
#18+
Все БД в MS SQL связаны с "главной" БД (только справочники). Только в ней происходят их изменения, в тригерах разносятся по разным БД. Для переноса в PostgreSQL в таблицах есть ссылка id_mssql_table. В MS SQL соответсвенно id_pg_table. Большинство записей соединил автоматом, другие разносят вручную (однофамильцы и тд) Юзерам права не дам. Дал. Надеюсь за пару месяцев они не научатся использовать различные тулсы-) EstetsСтандартный подход для решения таких задач, это внесение понятия "Текущая организация", которая либо привязана к пользователю, либо выбирается во время начала сеанса работы. Соответственно все разделяемые справочники включают в себя идентификатор организации. А общие справочники нет.Так и есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2007, 11:49 |
|
||
|
Общие справочники для разных бд
|
|||
|---|---|---|---|
|
#18+
drunk2Есть бд mssql 2000. Предприятие разделилось на несколько. Создал несколько бд для каждого предприятия. Сначала справочники были одинаковые, сейчас получается зоопарк тк в одну бд вносят контрагента, в другую нет или под другим именем и тд. Скоро все данные надо переносить в новую бд PostgreSQL где будет одна бд для всех предприятий. Синхронизировал справочники, создал в одной бд тригера INSTEAD OF INSERT, UPDATE в других запретил редактирование. Во всех таблицах поля с IDENTITY. Но не учел, что SET IDENTITY_INSERT: Permissions Execute permissions default to the sysadmin fixed server role, and the db_owner and db_ddladmin fixed database roles, and the object owner. Юзерам права не дам. Как быть ? фигня пишите пришлю процедуру с комментами как это сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 23:30 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=115&tid=1544330]: |
0ms |
get settings: |
5ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 341ms |

| 0 / 0 |
