Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Использование Database Library в AD
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Altium Designer, DXP, Protel
RXgade
Я пользователь AD 6.7
Для создания библиотеки компонентов использую механизм Database Library.
Для файла DBLib использую следующие настройки (остальные по умолчанию):
Path: c:\Data\eComp\eComp.mdb - путь к файлу базы данных;
Fielt Settings: [Manufacturer]='{Manufacturer}'AND[Part Number]='{Part Number}';

При этом в процессе работы проявляются следующие ГЛЮКИ!!!:
1. При открытии ранее настроенного и сохраненного файла DBLib, AD сам изменяет поле Part Number на [None] (это внизу в списке Field Mapping столбец Design Parametr), из-за этого это поле не переносится и в последствии теряется связь между компонентом на схеме и базой данных.
2. Когда библиотека уже подключена, то сортировка компонентов в списке на панели Libraries выполнена непонятно по какому критерию, и даже если ее отсортировать, по при последующем ее перевыборе сортировка опять нарушается.

3. ГЛАВНЫЙ ГЛЮК!!! Если в панели Libraries выбрать подключенную DBLib-библиотеку, и если в этой библиотеке достаточно компонентов чтобы в списке появилась строка прокрутки, то - при прокрукте списка вниз и выборе компонента, получается несоответствие между компонентом и отображаемой для него графики и модели footprint-a. Т.е. для компонента из базы данных ставится в соответствие другой символ и модель footprint, а не тот который указан для него в базе данных.

Кто сталкивался с ТАКИМИ ИЛИ ДРУГИМИ ПРОБЛЕМАТИ просьба поделится опытом и решениями.
Gennaj
Цитата(RXgade @ Dec 1 2007, 17:00) *
Я пользователь AD 6.7
Для создания библиотеки компонентов использую механизм Database Library.
Для файла DBLib использую следующие настройки (остальные по умолчанию):
Path: c:\Data\eComp\eComp.mdb - путь к файлу базы данных;
Fielt Settings: [Manufacturer]='{Manufacturer}'AND[Part Number]='{Part Number}';

При этом в процессе работы проявляются следующие ГЛЮКИ!!!:
1. При открытии ранее настроенного и сохраненного файла DBLib, AD сам изменяет поле Part Number на [None] (это внизу в списке Field Mapping столбец Design Parametr), из-за этого это поле не переносится и в последствии теряется связь между компонентом на схеме и базой данных.
2. Когда библиотека уже подключена, то сортировка компонентов в списке на панели Libraries выполнена непонятно по какому критерию, и даже если ее отсортировать, по при последующем ее перевыборе сортировка опять нарушается.

3. ГЛАВНЫЙ ГЛЮК!!! Если в панели Libraries выбрать подключенную DBLib-библиотеку, и если в этой библиотеке достаточно компонентов чтобы в списке появилась строка прокрутки, то - при прокрукте списка вниз и выборе компонента, получается несоответствие между компонентом и отображаемой для него графики и модели footprint-a. Т.е. для компонента из базы данных ставится в соответствие другой символ и модель footprint, а не тот который указан для него в базе данных.

Кто сталкивался с ТАКИМИ ИЛИ ДРУГИМИ ПРОБЛЕМАТИ просьба поделится опытом и решениями.


Прочитал Ваше сообщение, возникли вопросы и предложения.
1. Не понял, Вы пытаетесь слинковать с базой уже разработанную схему, или, создав базу, пытаетесь набрать новую схему, сразу выбирая компоненты из базы?

Дело в том, что если Вы пытаетесь связать с базой уже готовую схему, то Вам надо использовать файл типа DBLink, а не DBLib. В этом link-файле Вы, дейтсвительно, можете задать требование на совпадение нескольких полей ([Manufacturer]='{Manufacturer}'AND[Part Number]='{Part Number}').

А вот если Вы используете базу как библиотеку, то в ней необходимо указать только ОДНО ключевое поле. Мы, например, используем специальный уникальный идентификатор - набор букв и цифр, индивидуальный для каждого компонента. Использование в библиотеке строки ([Manufacturer]='{Manufacturer}'AND[Part Number]='{Part Number}') является неверным.

Глюка, описанного Вами в пункте 3 я не наблюдал еще ни разу.
RXgade
Я использую именно DBLib для создания новой схемы. При этом хочу замететь что использование ключа [Manufacturer]='{Manufacturer}' AND[Part Number]='{Part Number}' является корректным как для DBLib так и для DBLink (см. документация на использование DBLib).

Что касается глюка 3, то если вы используете всязывание компонентов с БД только по уникальному идентийикатору (а не связь по нескольким полям) то клюк может быть и не проявляется (сам не проверял). Но если это не так то вот последовательность действий для проявления глюка:
1. Выбрать одну из подключенных библиотек DBLib (появится список компонентов в панели Library).
Нажмите для просмотра прикрепленного файла

2. Производим сортировку по какому-либо столбцу (например у меня по столбцу Manufacturer).
Нажмите для просмотра прикрепленного файла

3. СРАЗУ!!! Прокручиваем список например в самый низ или в самый верх (до этого НЕ НАДО выбирать ни какой компонент из списка).
Нажмите для просмотра прикрепленного файла

4. Теперь выбираем какой либо компонент из списка и видим.... что для компонента с заданным сочетанием полей Manufacturer и Part Number отобразаются в данном случае пустой компонент:
Нажмите для просмотра прикрепленного файла

ХОТЯ ДОЛЖНО БЫТЬ СЛЕДУЮЩЕЕ!!!!!!
Нажмите для просмотра прикрепленного файла

Хочу заметить, что если в п.3 сначала поочереди выбрать нестолько компонентов (просто покликать их мышкой), а потом выполнить прокрутку вверх или вниз, то все белее менее нормально.

Надеюсь смог объяснит понятно.
Gennaj
Цитата(RXgade @ Dec 3 2007, 16:13) *
Я использую именно DBLib для создания новой схемы. При этом хочу замететь что использование ключа [Manufacturer]='{Manufacturer}' AND[Part Number]='{Part Number}' является корректным как для DBLib так и для DBLink (см. документация на использование DBLib).

Что касается DBLink, то мы, когда переходили на базу, связывали с его помощью уже нарисованные ранее схемы с базой не по двум, а, например, для конденсаторов, по 5 полям - Корпус, Value, Tolerance, TKE, Power/Voltage. И никаких глюков при этом не возникало.

Что же касается библиотеки, то я, конечно, не буду спорить с документацией. Однако, пропадают именно те поля, которые Вы сделали ключевыми. Попробуйте изменить структуру базы, создав поле, например ,"ID", и сделать его ключевым. Мне кажется, что в этом случае все Ваши проблемы исчезнут.
Мы с базой эксперементируем уже 3-й месяц, и ничего похожего на Вашу проблему пока не встречали.
Предложенную Вами последовательность действий я проделал, но глюк не появился.
Вы не могли бы выложить кусочек Вашего файла базы с соответствующими библиотеками УГО? Такой кусочек, на котором у Вас уже начала бы проявляться Ваша проблема.
RXgade
Цитата(Gennaj @ Dec 4 2007, 11:07) *
Что касается DBLink, то мы, когда переходили на базу, связывали с его помощью уже нарисованные ранее схемы с базой не по двум, а, например, для конденсаторов, по 5 полям - Корпус, Value, Tolerance, TKE, Power/Voltage. И никаких глюков при этом не возникало.

Что же касается библиотеки, то я, конечно, не буду спорить с документацией. Однако, пропадают именно те поля, которые Вы сделали ключевыми. Попробуйте изменить структуру базы, создав поле, например ,"ID", и сделать его ключевым. Мне кажется, что в этом случае все Ваши проблемы исчезнут.
Мы с базой эксперементируем уже 3-й месяц, и ничего похожего на Вашу проблему пока не встречали.
Предложенную Вами последовательность действий я проделал, но глюк не появился.
Вы не могли бы выложить кусочек Вашего файла базы с соответствующими библиотеками УГО? Такой кусочек, на котором у Вас уже начала бы проявляться Ваша проблема.


Пропадает только поле [Part Number].

Вот минимальный пример чтобы вы смогли попробовать выявить глюк. Все ссылки вроде настроил, так что проспо распакуйте содержимой и подключите библиотеку eCompDBLib.DBLIB (соответсвенно потом выполните представленную выше последовательность действий).
Нажмите для просмотра прикрепленного файла
Gennaj
Цитата(RXgade @ Dec 5 2007, 18:20) *
Пропадает только поле [Part Number].

Вот минимальный пример чтобы вы смогли попробовать выявить глюк. Все ссылки вроде настроил, так что проспо распакуйте содержимой и подключите библиотеку eCompDBLib.DBLIB (соответсвенно потом выполните представленную выше последовательность действий).
Нажмите для просмотра прикрепленного файла


Подтверждаю этот глюк. Действительно, при настройке ключевого поля в библиотеке по нескольким полям начинается ерунда. Причина не ясна, но глюк исчезает при установке одного ключевого поля. Я ввел в Вашу базу поле ID и глюк полностью пропал. Прилагаю исправленную базу.
RXgade
А что вы можете сказась по поводу п.2 (соприровка выполняется непонятно по какому принципу)? Есть ли возможность фиксировать сортировку чтобы каждый раз ее не выполнять.
Gennaj
Цитата(RXgade @ Dec 6 2007, 19:37) *
А что вы можете сказась по поводу п.2 (соприровка выполняется непонятно по какому принципу)? Есть ли возможность фиксировать сортировку чтобы каждый раз ее не выполнять.

В библиотеке с одним ключевым полем вроде, все нормально. То есть, сортировка осуществляется в алфавитном порядке, если по возростанию, то сперва идут цифры, затем латинские буквы, затем русские.
Как зафиксировать сортировку подсказать не могу. Она снимается при переходе от таблицы к таблице базы данных. При работе без перехода от таблицы к таблице сортировка сохраняется без изменений при выборе любого числа компонентов. Первоначальная, до сортировки, расстановка компонентов в списке соответствует, похоже, или сортировке по ключевому полю, или просто порядку записи в базу. Чему конкретно не проверял, так как у нас эти две сортировки дадут одинаковый результат - ID последовательно увеличивается на каждую новую строчку в базе.
Кстати, очень рекомендую поиск по маске. Он ищет введенное сочетание сразу по всем полям. Вот пример:
Visero
Коллеги, есть проблемы с SVN библиотекми на базах данных.
Пытаемся внедрить эту систему. Но неоднородность работы этих библиотек на разных машинах (дистриб 10.589) вызывают недоумение.
В качестве файла базы данных используется файл Access'07 в расшаренной папке на сервере.
В браузере компонентов открытого файла SVNDBlib можно видеть все УГО\футпринты\параметры, через правый мышиный клик все открывается и редактируется. Это одинаково на всех машинах.
Но при попытках работать с инсталлированной библиотекой через панель Libraries начинаются нестабильности - параметры всех таблиц выводятся 100%, но УГО/футпринты - от раза к разу. Допустим как на скриншоте - УГО виден, футпринта нет. На другой машине не видно ни УГО, ни футпринта.Какой-то закономерности не обнаружил.
Нажмите для просмотра прикрепленного файла
Владимир
СКОРЕЕ всего по разномe прописанs patch, где хранится SVN.
В Access прописаны только название Footpint и УГО, но не названия самих библиотек.
Если только пытаетесь--- забудьте. Пытайтесь Vault
По времени одно и тоже, но функционала больше
Visero
Цитата
СКОРЕЕ всего по разномe прописанs patch, где хранится SVN.
Файл библиотеки SVNDBlib используется на всех машинах один, поэтому пути одинаковые сетевые везде. Не в этом проблема.
Цитата
В Access прописаны только название Footpint и УГО, но не названия самих библиотек.

И не здесь была загвоздка. Софтине не нужны названия библиотек, она ищет во всем массиве файлов по названиям компонентов. У меня например устроено так: Нажмите для просмотра прикрепленного файла
Где лежат, как указано в канонах, один компонент-один файл библиотеки.

А подстава оказывается была в русских буквах в названиях УГО\футпринтов. Что конечно странно, ибо когда либы были не сетевые, а локальные pcblib и schlib, то русские наименования проходили безболезненно. Видимо причина в дебрях сетевых взаимоотношений Altium-TortoiseSVN.

А насчет перехода на Vaults. Я помню, что Вы положительно отзывались о этой технологии на семинаре Родника.
Но меня смущает это:
1 - необходимость покупки отдельной лицензии для Vault'ов. Не совсем понятные условия покупки и продления лицензий
2 - в билде Altium 10xx были ваулты типа Enterprise\Satellite\Managed. в билде 13 - уже просто Personal\Vault Server. Т.е. технология еще достаточно сыра, раз так кардинально меняется подход. Подождем годик.
Владимир
Цитата(Visero @ Mar 19 2013, 11:41) *
А подстава оказывается была в русских буквах в названиях УГО\футпринтов.

Устроено у вас правильно, а насчет русских букв, спецсимволов, и использования служебных и задействованных параметров, у меня уже аскомина на зубах
Цитата
Что конечно странно, ибо когда либы были не сетевые, а локальные pcblib и schlib, то русские наименования проходили безболезненно. Видимо причина в дебрях сетевых взаимоотношений Altium-TortoiseSVN.

А насчет перехода на Vaults. Я помню, что Вы положительно отзывались о этой технологии на семинаре Родника.

Да, положительно, а теперь еще положительнее sm.gif
Цитата
Но меня смущает это:
1 - необходимость покупки отдельной лицензии для Vault'ов. Не совсем понятные условия покупки и продления лицензий
2 - в билде Altium 10xx были ваулты типа Enterprise\Satellite\Managed. в билде 13 - уже просто Personal\Vault Server. Т.е. технология еще достаточно сыра, раз так кардинально меняется подход. Подождем годик.

на первое тоже что и про основную лицензию
на второе-- возможно это и правильное решение. Но пробовать то можно. К стати 13 воспринимал Satellite. Просто уже стер последний
Alexey Sabunin
Цитата(Visero @ Mar 19 2013, 11:41) *
2 - в билде Altium 10xx были ваулты типа Enterprise\Satellite\Managed. в билде 13 - уже просто Personal\Vault Server. Т.е. технология еще достаточно сыра, раз так кардинально меняется подход. Подождем годик.

тут все очень даже просто:
Enterprise\Satellite\Managed это разные варианты реализации VAULT, как они были, так и остались!
а Personal\Vault Server это инструменты работы с ними.

так Personal Vault, это утилита, которая используется для подключения к серверу, не зависимо от того, какой он Enterprise\Satellite\Managed,
а Vault Server - это инструмент для администрирования и создания локального сервера (Enterprise Vault)

для второго требуется лицензия!
Proff3000
При использовании в БД (.accdb) типа поля "Числовой" с размером "Одинарное с плавающей точкой" и хранении в нём десятичных значений (например, 7,4), значения параметров компонентов в AD передаются как 7,3999...91357. Это особенность чисел с плавающией точкой? В Access значение отображается нормально (как 7,4). Какой числовой тип лучше подходит для хранения десятичных значений? Как вариант, конечно можно использовать тип поля "Денежный".
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.