|
v8: Как идентифицировать базу данных? | ☑ | ||
---|---|---|---|---|
0
aspirator23
10.08.12
✎
06:49
|
Имеется несколько баз данных 1с. Все в формате SQL. Информация о них хранится в отдельной общей SQL базе. Как однозначно идентифицировать эти базы с тем чтобы обращаясь к общей SQL находить именно "себя" - свою базу данных?
Гуид подходит, но на базу кажется его нет? Можно "порыться" в возможностях SQL, но базы могут быть перенесены с одного сервера на другой и тогда вероятно эта уникальность изменится. Да и базы могут быть размещены на нескольких sql серверах. |
|||
1
aleks-id
10.08.12
✎
06:52
|
мутный поток сознания
|
|||
2
goodzone
10.08.12
✎
06:53
|
Найти себя в мастере и сгенерить имя по ид мастера и имени сервера.
Хотя возможно с сиквеле есть какой-нибуть юник-ид. Прикольная задача |
|||
3
Lex_Liven
10.08.12
✎
06:54
|
Несколько баз 1С в одной базе SQL??? Как? И самое главное - НАФИГА???
Выгрузите все через конфигуратор и загрузите в отдельные базы скула. Мир станет лучше. |
|||
4
aspirator23
10.08.12
✎
06:57
|
(3) Спокойно тут все проще.
(1) Подключаясь из базы 1с к общей базе нужно найти себя(базу) и прочитать общие данные о этой базе: например ответственный ну или еще что-нибудь. Сами данные небольшие. |
|||
5
Живой Ископаемый
10.08.12
✎
06:58
|
2(4) у базы 1С УИД есть, да. Но он может поменяться, а база в СУБД останется как и была.
|
|||
6
aspirator23
10.08.12
✎
06:59
|
(5) Как его получить? Почему он может поменяться?
|
|||
7
goodzone
10.08.12
✎
07:02
|
(5) Поскажи плиз
|
|||
8
aspirator23
10.08.12
✎
07:03
|
(2) Идея неплохая. Во всяком случае можно это проделать один раз и записать в свойства базы 1с.
|
|||
9
aspirator23
10.08.12
✎
07:09
|
Можно попробовать через какие-либо косвенные признаки идентифицировать: размер кода, количество метаданных... Но все что приходит "на ум" меняются, или могут совпасть с другой базой.
|
|||
10
Живой Ископаемый
10.08.12
✎
07:09
|
||||
11
Живой Ископаемый
10.08.12
✎
07:11
|
может поменяться, если удалить базу из списка и добавить заново. Немного от этого может помочь список общих баз, если его хранить на сервере оттуда уже пользователь может так просто и не удалит базу. Но все равно можешь удалить ты сам.
|
|||
12
goodzone
10.08.12
✎
07:11
|
(10) Как получить на клиенте? Похоже метод не надежный.
|
|||
13
goodzone
10.08.12
✎
07:12
|
Тем более не надежный :(
|
|||
14
Живой Ископаемый
10.08.12
✎
07:13
|
Да я вообще считаю это ересью. (то что вы пытаетесь сделать)
Нет надежного. |
|||
15
goodzone
10.08.12
✎
07:15
|
Базу в MS SQL легко идентифицировать по имени. Но сиквел, - проблемно. А если учесть, что работаем через сервер приложений, то необходимо идентифицировать сервер приложений. А если про кластер вспомнить... - та ну его на ...
|
|||
16
goodzone
10.08.12
✎
07:15
|
А задача даже очень проста: как не путать копии
|
|||
17
Живой Ископаемый
10.08.12
✎
07:18
|
Есть метод глобального контекста СтрокаСоедниенияСБазой.
|
|||
18
goodzone
10.08.12
✎
07:20
|
(17) Не катит. У тебя 100 компов. На некоторых из них по IP прописано.
|
|||
19
Живой Ископаемый
10.08.12
✎
07:21
|
И еще смотреть (40) и (41) v8: v8: Имя SQL базы
(18) не у меня а у тебя. |
|||
20
Живой Ископаемый
10.08.12
✎
07:22
|
или например (8) из v8: Файловый или серверный вариант базы
хотя тоже ересь, но оригинально и просто |
|||
21
Живой Ископаемый
10.08.12
✎
07:25
|
и еще есть ПолучитьНавигационнуюСсылкуИнформационнойБазы()
|
|||
22
goodzone
10.08.12
✎
07:40
|
Теоритически - надо капать в wma. Правда практически я пока этого не делал. Могу и ошибаться. Волшебники молчат?
|
|||
23
Живой Ископаемый
10.08.12
✎
07:42
|
wma? разве оно работает в Линуксе?
|
|||
24
goodzone
10.08.12
✎
07:54
|
(23) 100 пудов, - там др методы. И + еще один гайморит :)
|
|||
25
aspirator23
10.08.12
✎
14:09
|
Тема оказывается давно мусолится.
v8: Как определить GUID БД в 1С v8: Уникальный код базы v8: Уникальный id инф. базы (8.2) в таблице dbo.Params нашел поле log.inf оно в разных базах вроде разное. Во всяком случае в которых смотрел. И дата создания довольно старая. Т.е. смахивает на время создания базы. Где бы еще накопать пояснения по этому полю - что это? |
|||
26
vde69
10.08.12
✎
14:15
|
(25) если я понимаю средствами скуля копию - то это одна и таже база или две разных?
вообще варианта только два один - это читать таблицы базы мастерс другой - использовать гуид кластера 1с |
|||
27
aspirator23
10.08.12
✎
14:22
|
(25) поле log.inf у разных баз разное. Но если одну базу SQL скопировал в другую то поле log.inf совпадает. Получается нужно действительно из мастер-базы имена брать.
|
|||
28
aspirator23
10.08.12
✎
14:23
|
27 для(26)
|
|||
29
vde69
10.08.12
✎
14:37
|
(27) я - бы по другому вопрос поставил, что первично "кластер 1с" или "сервер SQL"
с точки зрения физического хранения данных - скуль, с пользовательского интерфейса - кластер 1с по этому у данной задачи нет единственного решения :) каждый выбирает для себя! |
|||
30
aspirator23
10.08.12
✎
14:55
|
(29) На кластер 1с видимо нельзя опираться: в sql будет база Db_Test. А в кластере можно создать базу Test, Затем удалить и создать новую Test_Db, затем снова удалить и создать DbTest. Все это будет одна и таже база sql Db_Test.
Хотя конечно это тоже спорно. Во всяком случае спасибо за идеи. |
|||
31
vde69
10.08.12
✎
15:02
|
(30) нет, это будет разные базы содержащие одни и те-же данные
есть еще одно мнение - это разделение по "автоматизации" например регламентные задания привязаны к кластеру, а бекапы к скулю. на мой взгляд правильно делать привязку кластер+скуль |
|||
32
aspirator23
10.08.12
✎
15:20
|
(31) Да, подходит. Моя задача - как раз работает через регламентное задние.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |