v8: Как идентифицировать базу данных? #624446


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

В этой группе 1С