Связывание существующих компонентов с корпоративной базой данных с помощью файла Database Link
Краткий обзор
- Узнайте, когда следует использовать DbLink вместо DbLib или SVNDbLib.
- Научитесь создавать файл Database Link и настраивать подключения к Access, Excel и другим поддерживаемым базам данных.
- Ознакомьтесь с требованиями к связыванию по ключевым полям и особенностями использования 64-разрядных компонентов ядра базы данных.
Многим организациям требуется связывать компоненты электронных САПР с центральной базой данных компонентов компании. Altium Designer поддерживает такую возможность, позволяя связывать существующие компоненты с записями в базе данных компании посредством создания и использования файла Database Link. Файл связи с базой данных (Database Link) добавляется в проект или пакет библиотек, позволяя связывать с базой данных соответственно компоненты, уже размещенные на листах схемы, или, что более типично, компоненты, определенные в исходной библиотеке схемных компонентов.
После установления связи можно передавать сопоставленные параметрические данные из записей базы данных в параметры компонентов проекта с помощью команды Tools » Update Parameters From Database. Затем эти сведения можно включить в итоговую спецификацию (BOM) для закупки компонентов.
Несколько слов о вариантах связывания...
Altium Designer предоставляет три способа связывания компонента с базой данных: с помощью файла Database Link (*.DbLink), файла Database Library (*.DbLib) или файла SVN Database Library (*.SVNDbLib). Подход DbLink обеспечивает эффективное связывание компонентов, используемых в проекте или библиотеках, с данными, внесенными в базу данных, и поддержание их синхронизации. Подход DbLib/SVNDbLib дополняет эту проверенную эффективность связывания возможностью размещать компонент непосредственно из базы данных — по сути, динамически создавая компонент на основе сведений, хранящихся в соответствующей записи базы данных.
Прежде чем подробнее рассмотреть возможности связывания с базой данных, стоит обсудить различия между этими двумя подходами с точки зрения их использования.
Связывание с помощью файла Database Link
- При использовании этого способа файл Database Link определяет связь между схемным компонентом и соответствующей записью в базе данных. Соответствие записи устанавливается по одному ключевому полю (например, артикулу) или нескольким ключевым полям (путем задания условия Where).
- При таком способе связывания сведения о моделях и параметрах компонента должны быть заранее заданы в составе библиотечного компонента Altium Designer. Определение библиотечного компонента также должно содержать необходимые сведения о ключевых полях. После этого следует добавить файл Database Link в пакет библиотек или проект, и тогда можно синхронизировать сведения о компоненте (параметры) с содержимым полей базы данных.
- Хотя каждому физическому компоненту, определенному записью базы данных, необязательно должен соответствовать уникальный библиотечный компонент Altium Designer — несколько компонентов базы данных могут использовать одно и то же условное графическое обозначение, — этот способ связывания обычно применяется по принципу «одна запись базы данных — один компонент Altium Designer». Уникальным компонентом Altium Designer может быть как экземпляр, размещенный на листе схемы, так и отдельный компонент в библиотеке компонентов.
- При связывании с базой данных по принципу DbLink файл Database Link включается в пакет библиотек или проект.
Связывание с помощью файла Database Library
Related page: Библиотеки баз данных
- При использовании этого способа файл Database Library также определяет связь между схемным компонентом и соответствующей записью в базе данных. Как и в предыдущем случае, соответствие записи устанавливается по одному ключевому полю (например, артикулу) или нескольким ключевым полям (путем задания условия Where).
- При таком способе связывания сведения об условном графическом обозначении, моделях и параметрах компонента хранятся в составе записи этого компонента во внешней базе данных. Схемный компонент, на который ссылается запись (хранящийся в базовой библиотеке компонентов (*.SchLib)), представляет собой только условное графическое обозначение: у него нет связанных моделей и заданных параметров проекта.
- При размещении компонента сведения о его параметрах и моделях формируются на лету с использованием соответствующих полей найденной записи базы данных и в соответствии с заданным сопоставлением. Затем один или несколько этих параметров используются для поддержания постоянной связи с базой данных согласно заданным критериям соответствия, что позволяет выполнять синхронизацию после размещения.
- Благодаря динамическому созданию компонентов в момент размещения этот способ связывания хорошо подходит для использования по принципу «много записей базы данных — один компонент Altium Designer». Например, база данных может содержать резисторы ряда E96, причем каждая запись будет ссылаться на одно и то же условное графическое обозначение резистора и одно и то же посадочное место на печатной плате.
- В отличие от связывания по принципу DbLink, при котором файл DbLink должен входить в пакет библиотек или проект, файл DbLib/SvnDbLib необязательно добавлять в проект. Библиотека базы данных (DbLib) включается в список доступных библиотек, к которым можно обращаться через панель Components. Помните, что доступные библиотеки могут включать библиотеки проекта, установленные библиотеки и библиотеки, найденные по указанным путям поиска.
- Как правило, файлы DbLib/SVNDbLib настраивают по принципу разделения на библиотеки. Например, один файл может охватывать все резисторы, описанные в базе данных компании, другой — конденсаторы и т. д.
Создание файла Database Link
Как уже отмечалось, основой механизма связывания с базой данных является файл Database Link. Этот файл создается и редактируется в редакторе DatabaseLink программы Altium Designer. Редактор становится доступен, когда активным документом в главном окне проектирования является файл *.DbLink.
Пример файла DbLink, открытого в редакторе DatabaseLink.
Создать новый файл этого типа можно следующими способами:
- Выбрать команду File » New » Library » Database Link File в главном меню.
- Щелкнуть правой кнопкой мыши запись нужного проекта на панели Projects и выбрать команду Add New to Project » Database Link File в контекстном меню.
Подключение к внешней базе данных
Данные таблиц и сопоставлений появятся в главном окне редактора только после успешного подключения активного файла Database Link к нужной внешней базе данных. Подключение настраивается с помощью элементов управления в области Source of Connection.
Настройка подключения к внешней базе данных.
Можно подключиться к любой базе данных, поддерживающей OLE DB. Каждый из вариантов в этой области использует строку подключения OLE DB для подключения к целевой базе данных. Некоторые базы данных могут не поддерживать OLE DB. Однако практически все используемые сегодня системы управления базами данных доступны через интерфейс Open Database Connectivity (ODBC). Функция связи с базой данных использует поставщик ODBC от Microsoft, который позволяет объекту ADO (ActiveX Data Object) подключаться к любому источнику данных ODBC. Таким образом, можно подключиться к любой базе данных ODBC. Поставщик OLE DB для базы данных ODBC указывается в строке подключения.
Быстрое подключение к базам данных Access и Excel
Параметр Select Database Type позволяет быстро создать строку подключения, если целевая база данных создана в Microsoft Access или Microsoft Excel. Выбрав этот вариант, укажите тип базы данных, затем найдите и выберите нужный файл базы данных. Соответствующая строка подключения будет автоматически сформирована и введена в поле параметра Use Connection String.
Формирование строки подключения
Если база данных вашей компании создана не в Access или Excel и вы хотите самостоятельно сформировать строку подключения, включите параметр Use Connection String, затем нажмите соответствующую кнопку Build справа. Откроется диалоговое окно Data Link Properties.
Формирование строки подключения в диалоговом окне Data Link Properties.
Диалоговое окно открывается на вкладке Connection . На вкладке Provider этого окна по умолчанию выбран поставщик OLE DB Microsoft Office <Version> Access Database Engine OLE DB Provider. Этот поставщик используется по умолчанию для новых файлов Database Link, а также для подключения к файлам баз данных Access (*.mdb). При необходимости выберите другого поставщика.
На вкладке Connection введите имя базы данных, к которой требуется подключиться, включая путь к ней.
Если для доступа к базе данных требуется авторизация, введите необходимые учетные данные, а также задайте дополнительные параметры на вкладке Advanced диалогового окна. На вкладке All представлен сводный список заданных параметров связи, а также расширенные параметры выбранного поставщика OLE DB. При необходимости параметры можно изменить и на этой вкладке.
После настройки параметров связи можно проверить подключение, нажав кнопку Test Connection на вкладке Connection . Если подключение установлено успешно, появится соответствующее диалоговое окно подтверждения.
Указание файла Data Link
Если источник данных, к которому требуется подключиться, описан в файле Microsoft Data Link (*.udl), выберите третий вариант подключения — Use Data Link File — и нажмите соответствующую кнопку Browse , чтобы найти нужный файл. По сути, файл Data Link служит для хранения строки подключения.
Установление подключения
После настройки подключения к внешней базе данных текст кнопки Connect станет полужирным, указывая на то, что можно установить подключение. Если параметры подключения верны, сведения о таблицах и сопоставлениях целевой базы данных будут загружены в файл Database Link. Текст кнопки Connect изменится на Connected, а сама кнопка станет неактивной.
Если в параметрах подключения есть ошибка, например неверно сформирована строка подключения или неправильно указан путь, подключение не будет установлено и появится соответствующее сообщение. Проверьте настройки подключения и снова нажмите кнопку Connect .
Примеры сообщений об ошибке подключения.
После первого успешного подключения и сохранения файла Database Link подключение будет устанавливаться автоматически при каждом открытии файла, при условии что расположение и имя файла целевой базы данных не изменились.
Список таблиц базы данных
После успешного подключения к внешней базе данных будут загружены данные таблиц и сопоставлений. В левой части документа DbLink перечислены все таблицы подключенной базы данных.
Таблицы подключенной базы данных.
Параметр Enable рядом с каждой таблицей позволяет указать, следует ли использовать эту таблицу при обновлении параметров из базы данных.
При выборе таблицы в списке ее значок меняется с
на
, обозначая ее как текущую активную таблицу. Таблица со всеми ее данными отображается на вкладке Table Browser документа. Это недоступная для редактирования копия таблицы, позволяющая быстро просматривать ее содержимое без необходимости открывать саму внешнюю базу данных.
Просмотр исходной таблицы в подключенной базе данных.
Настройка критериев сопоставления
Чтобы обновить параметры компонентов по данным, хранящимся в полях внешней базы данных, каждый компонент проекта необходимо сначала сопоставить с одной строкой одной из таблиц базы данных. Область Field Settings документа позволяет задать критерии сопоставления: простой поиск по одному ключу или более сложное сопоставление с использованием условия WHERE.
Настройка критериев сопоставления.
Поиск по одному ключу
Если включен параметр Single key lookup (по умолчанию), становятся доступны поля Database field и Part parameter. В списке Database field перечислены имена всех доступных полей (заголовки столбцов) активной таблицы базы данных. В поле Part parameter перечислены все параметры, найденные у всех компонентов проекта, — как системные, так и пользовательские.
Используйте эти поля, чтобы задать соответствие между полем таблицы и параметром компонента (общим для всех компонентов). Обычно в обоих случаях для сопоставления используется поле, которое однозначно идентифицирует каждый компонент во внешней базе данных, например Part Number. Выбранное поле поиска отмечается на вкладке Field Mappings документа неактивной записью Design Parameter.
Сопоставление по одному ключу — Part Number
При использовании функции Tools » Update Parameters From Database считывается значение выбранного ключевого параметра размещённых на схеме компонентов, а затем выполняется его поиск в выбранном ключевом поле базы данных — во всех включённых таблицах. Если совпадение найдено, данные из других ячеек этой записи исходной таблицы могут быть переданы в соответствующие параметры компонента на схеме.
Расширенное сопоставление — условие WHERE
Вариант Single key lookup хорошо работает, если для сопоставления используется уникальный номер или идентификатор компонента, но менее эффективен при сопоставлении по неуникальному параметру, например ёмкости или сопротивлению. В этом случае следует использовать более гибкое условие WHERE, позволяющее задать сопоставление по нескольким ключам, чтобы связать компонент на схеме с нужной строкой соответствующей таблицы базы данных.
В простейшем виде условие WHERE, записанное с использованием синтаксиса SQL, отражает выбранные значения, определяющие поиск по одному ключу. Например, если для Database field выбрано Part Number, а в качестве уникального Part parameter (имеющегося у всех компонентов проекта) выбрано Part Number, условие WHERE будет выглядеть следующим образом:
[Part Number] = '{Part Number}'
Квадратные скобки вокруг поля базы данных (столбца таблицы) — это символы кавычек, заданные на вкладке Advanced диалогового окна Database Connection. Открыть это окно можно, нажав кнопку Advanced в области Source of Connection документа или выбрав соответствующую команду в главном меню Tools .
Вкладка Advanced диалогового окна Database Connection содержит дополнительные настройки SQL для заключения имён таблиц в кавычки или использования имён схем таблиц при формировании условия WHERE.
Фигурные скобки указывают, что ссылка относится к параметру проекта. Одинарные кавычки задают интерпретацию параметра проекта как строки, а не числа (для числа кавычки не используются). Соответствие типов очень важно, поскольку SQL учитывает типы данных. Тип параметра проекта должен совпадать с типом столбца базы данных.
Используя стандартный синтаксис SQL, условие WHERE можно расширить для сопоставления по нескольким парам Database field/Part parameter, например:
[Capacitance] = '{Capacitance}' AND [Tolerance] = {Tolerance} AND [Manufacturer] = '{Manufacturer}'
В этом случае связь с одной записью соответствующей таблицы базы данных устанавливается с помощью трёх различных параметров проекта. Обратите внимание, что параметр проекта Tolerance не заключён в кавычки. Это означает, что столбец в соответствующей таблице базы данных имеет тип Number, а не String.
Используя стандартный синтаксис SQL, можно сделать условие WHERE сколь угодно простым или сложным. Пример более сложного условия:
[Tolerance] BETWEEN {Min Tolerance} AND {Max Tolerance} AND [Price] <= {Max Price} AND [Manufacturer] IN ('{Preferred Manufacturer 1}', '{Preferred Manufacturer 2}')
В этом случае запрос к таблице будет искать соответствующие компоненты по трём полям базы данных — Tolerance, Price и Manufacturer. Допуск должен находиться в диапазоне, заданном параметрами проекта Min Tolerance и Max Tolerance. Цена должна быть меньше или равна значению параметра проекта Max Price, а производителем может быть любой из двух вариантов, заданных параметрами проекта Preferred Manufacturer 1 и Preferred Manufacturer 2.
Создание параметра компонента
Если у компонентов Altium Designer нет подходящего параметра для использования в качестве Part parameter при сопоставлении в файле DbLink, его потребуется создать. Этот «базовый» параметр можно быстро добавить с помощью команды Tools » Parameter Manager или панели Properties соответствующего редактора.
Добавление параметра с помощью функции управления параметрами
Чтобы добавить новый параметр с помощью функции управления параметрами:
- В документе схемы (или документе библиотеки схемных компонентов) выберите Tools » Parameter Manager в главном меню. Откроется диалоговое окно Parameter Editor Options. Чтобы добавить новый параметр ко всем компонентам, убедитесь, что в области Include Parameters Owned By включён параметр Parts, а в области That Meet the Following Criteria в качестве критерия задано All Objects.
Настройка параметров управления параметрами.
- Нажмите OK, чтобы открыть диалоговое окно Parameter Table Editor, в котором отображаются все параметры всех объектов-компонентов в исходных документах схем активного проекта (или схемных компонентов в активной библиотеке). Нажмите кнопку Add Column и в открывшемся диалоговом окне Add Parameter задайте имя параметра. Убедитесь, что параметр Add to all objects включён, чтобы новый параметр был добавлен ко всем компонентам.
Пример использования функции управления параметрами для добавления нового параметра ко всем компонентам во всех исходных схемах проекта.
- После добавления нового столбца нажмите кнопку Accept Changes (Create ECO). В открывшемся диалоговом окне Engineering Change Order выполните Validate, а затем Execute изменений, чтобы добавить параметр ко всем нужным компонентам.
Применение изменений параметров (добавление нового параметра ко всем компонентам) с помощью извещения об изменении (Engineering Change Order).
Добавление параметра с помощью панели Properties
Новый параметр можно добавить ко всем выбранным компонентам с помощью панели Properties. Ниже описано добавление одного и того же параметра ко всем компонентам в активном документе библиотеки схемных компонентов с помощью панелей SCHLIB Filter и Properties.
- Сначала выберите все компоненты библиотеки с помощью панели SCH Filter и запроса IsPart. Убедитесь, что параметр Whole Library включён, иначе будет учитываться только активный компонент библиотеки.
Настройка фильтра для выбора всех компонентов в активном документе библиотеки схемных компонентов.
- На панели Properties редактора библиотеки убедитесь по тексту в нижней части панели, что все компоненты библиотеки выбраны. Если панель Properties не отображается, нажмите кнопку
в правом нижнем углу рабочей области, чтобы открыть ее.
Убедитесь, что все компоненты выбраны.
- Добавьте необходимый параметр на вкладке Parameters панели. Нажмите кнопку Add, чтобы добавить новый параметр по умолчанию, затем измените его имя нужным образом. Обратите внимание: параметр уже добавлен ко всем выбранным компонентам. Если нажать кнопку Add еще раз, будет добавлен второй новый параметр.
Добавьте необходимый новый параметр ко всем выбранным компонентам.
Сопоставление полей базы данных с параметрами проекта
Параметры существующих компонентов — как размещенных на исходных листах схемы проекта, так и определенных в библиотеке компонентов схемы, добавленной в пакет библиотек, — обновляются на основе информации, хранящейся во внешней корпоративной базе данных, с помощью команды Update Parameters From Database. Эта команда доступна в главном меню Tools, когда активен документ схемы или библиотеки схем.
Если найдено соответствие между компонентом проекта и записью в таблице связанной базы данных, дальнейшие действия определяются настройками сопоставления и обновления, заданными в файле Database Link. Эти настройки задаются на вкладке Field Mappings в основной области документа.
Задайте параметры сопоставления и обновления на вкладке Field Mappings документа DbLink.
Сопоставление параметров
Первые два столбца слева на вкладке Field Mappings позволяют указать, какая информация из базы данных должна быть сопоставлена с параметрами компонента.
В столбце Database Field Name перечислены имена всех полей (столбцов) текущей активной таблицы базы данных. В столбце Design Parameter можно указать параметр проекта, который следует сопоставить с соответствующим полем базы данных. Первоначальное сопоставление выполняется автоматически при подключении к базе данных: все поля базы данных сопоставляются с одноименными параметрами проекта. Например, если поле базы данных называется Tolerance, с ним будет сопоставлен параметр проекта с именем Tolerance.
Изменить запись для параметра проекта можно следующими способами:
- Щелкните его ячейку и введите имя другого параметра вручную.
- Выберите существующий параметр проекта из раскрывающегося списка ячейки.
С компонентом в базе данных может быть связано множество полей данных, и не все из них вы захотите или сочтете необходимым добавлять в качестве параметров к существующему компоненту проекта. Значительная часть этой информации может требоваться только при формировании спецификации. В диалоговом окне Report Manager предусмотрена возможность добавления информации о параметрах в спецификацию непосредственно из связанной базы данных. Это позволяет уменьшить объем информации, хранящейся в исходных документах схемы. Подробнее см. в разделе Добавление информации из базы данных непосредственно в спецификацию.
Для полей базы данных, которые вы явно не хотите сопоставлять, установите для Design Parameter значение [None]. Несопоставленные поля базы данных отмечаются на вкладке значком красного крестика Сопоставленные поля базы данных отмечаются значком зеленой галочки
Настройте сопоставление параметров нужным образом.
Параметры обновления
Остальные столбцы на вкладке Field Mappings позволяют задать действия с параметрами при обновлении компонента с помощью команды Tools » Update Parameters From Database. В приведенных ниже описаниях термин Altium component обозначает компонент, размещенный на листе схемы, или компонент, определенный в библиотеке компонентов схемы, входящей в пакет библиотек.
Назначение четырех столбцов:
- Update Values — ячейка в этом столбце определяет действие, выполняемое, если параметр существует и у компонента Altium, и в базе данных, но их значения различаются. Можно обновить параметр компонента Altium значением из базы данных (Update) либо не обновлять его (Do not update).
- Add To Design — ячейка в этом столбце определяет действие, выполняемое, если параметр найден в базе данных, но отсутствует у компонента Altium Designer. Можно добавить параметр (Add), не добавлять его (Do not add) или добавить только в том случае, если ему присвоено значение в базе данных (Add only if not blank in database).
- Visible On Add — флажок в этом столбце определяет, будет ли вновь добавленный параметр видимым для компонента Altium: установленный флажок включает отображение, снятый — отключает.
- Remove From Design — ячейка в этом столбце определяет действие, выполняемое, если параметр существует у компонента Altium Designer, но отсутствует в базе данных либо присутствует в ней, но не имеет значения. Можно не удалять параметр (Do not remove) или удалять его только в том случае, если ему не присвоено значение в базе данных (Remove only if blank in database).
Изначально для полей Update Values, Add To Design и Remove From Design каждого сопоставленного поля базы данных устанавливается значение Default, а параметр Visible On Add отключен, как показано на следующем изображении.
Исходные параметры обновления (по умолчанию).
На изображении показаны три важных особенности параметров обновления:
- Для несопоставленных полей базы данных параметры обновления отсутствуют.
- Для ключевого поля (например, Part Number на изображении) параметры обновления отсутствуют. Это поле используется исключительно для сопоставления параметров.
- Значение Default указывает, что для параметра обновления используется соответствующая настройка по умолчанию, заданная на вкладке Default Actions диалогового окна Database Link Options (Tools » Options). Это диалоговое окно также можно открыть, нажав кнопку Options в области Field Settings документа.
Задайте параметры обновления по умолчанию централизованно.
Преимущество третьего пункта состоит в том, что он позволяет задавать параметры обновления централизованно, а затем ссылаться на эти настройки при определении параметров обновления для каждого сопоставленного поля. Именно поэтому значение Default автоматически подставляется в соответствующие поля обновления при сопоставлении поля базы данных с параметром проекта.
Если вы хотите переопределить настройку по умолчанию для параметра обновления, щелкните соответствующее поле обновления на вкладке Field Mappings, затем щелкните еще раз, чтобы открыть раскрывающийся список доступных вариантов обновления.
При необходимости параметры обновления можно переопределить вручную.
Таким образом, вы полностью контролируете обновление параметров проекта. Вы можете задать для всех полей значение Default и принимать необходимые решения об обновлении в диалоговом окне Database Link Options, настроить каждое поле обновления отдельно или сочетать оба подхода — выбор полностью за вами. Обновление выполняется с помощью диалогового окна Engineering Change Order. Если на этом этапе вы решите не выполнять какие-либо обновления, соответствующие изменения можно исключить — окончательное решение о том, какие параметры проекта будут обновлены, всегда остается за вами.
Обеспечение синхронизации
После настройки сопоставлений и параметров обновления в файле Database Link и сохранения файла вы сможете передавать информацию из базы данных в сопоставленные параметры компонентов Altium Designer. Помните, что выбранный параметр ключевого поля обеспечивает сохранение связи компонента Altium Designer с соответствующей записью во внешней базе данных. Это означает, что в дальнейшем изменения параметров в базе данных можно легко передавать в компонент Altium Designer, поддерживая их синхронизацию. Обновления выполняются с помощью команды Update Parameters From Database, доступной в главном меню Tools редактора схем или редактора библиотек схем.
Двойная синхронизация — DbLib/SVNDbLib и DBLink
В существующем проекте большинство размещенных компонентов может быть связано с внешней базой данных с помощью файла DbLink. Изменения проекта могут потребовать добавления новых цепей, компоненты которых могут быть размещены с помощью функции библиотеки баз данных. При этом соответствующий файл DbLib/SVNDbLib вполне может указывать на другую внешнюю базу данных.
При использовании команды Update Parameters From Database проверяются все связанные параметры размещенных компонентов — во всех подключенных базах данных, независимо от способа подключения, — а обнаруженные различия отображаются в диалоговом окне Select Parameter Changes.
Добавление информации из базы данных непосредственно в спецификацию
Related page: Настройка спецификации в Report Manager
Ранее исходные данные для спецификации (BOM) брались из параметров компонентов, размещенных в проекте. Однако это может приводить к тому, что схема содержит большой объем информации, используемой только для спецификации. Если размещенные компоненты Altium Designer связаны с внешней базой данных с помощью файла DbLink, генератор спецификаций может извлекать любую другую информацию из записей, которая не была добавлена к компонентам в виде параметров проекта.
При настройке отчета спецификации в диалоговом окне Report Manager нажмите кнопку Database Parameters (
) на вкладке Columns, чтобы включить их в качестве источника данных для спецификации, как показано ниже. Эта возможность доступна, только если один или несколько компонентов проекта связаны с внешней базой данных.
В списке Columns значок
обозначает параметр, который присутствует в связанной внешней базе данных для одного или нескольких размещенных компонентов. Нажмите значок видимости, чтобы он принял вид глаза (
), и соответствующий столбец (параметр) будет включен в спецификацию.
Включение дополнительной информации о компонентах, доступной только во внешней базе данных.