Files
claude-skills/pcb-ai-engineer/references/altium_celestial_library_setup.md
T
creator 8567a2a769 pcb-ai-engineer: add Celestial Altium Library setup reference
Production-ready Windows setup guide for connecting the Celestial
Altium Library (issus/altium-library, ~212k components, 311 views):
- portal.altiumlibrary.com registration & DbLib download
- Git LFS clone of issus/altium-library
- SQLNCLI11 install via official SQL Server 2012 SP4 Feature Pack MSI
  (required by Provider=SQLNCLI11.1 in portal-issued DbLib)
- MSOLEDBSQL 19 as optional side-by-side provider
- network access to db.altiumlibrary.com:1433 (OVH FR, 51.68.218.24)
  with MikroTik + xray/AmneziaWG routing notes
- Altium Designer File-based Libraries Preferences setup
- troubleshooting section covering the misleading 'MS Access required'
  error, z_ views, missing STEP models, etc.
- PowerShell one-shot installer script
2026-04-18 16:11:16 +00:00

24 KiB
Raw Blame History

Подключение Celestial Altium Library к Altium Designer

Полная production-ready инструкция по подключению базы данных Celestial (issus/altium-library, ≈212 000 компонентов, 311 views) к Altium Designer под Windows. Все ссылки ведут на официальные источники (Microsoft Learn, Download Center, GitHub). Альтернативы через Microsoft Store и winget msstore не используются — они заблокированы для RU-региона.


0. Что ты получишь в итоге

  • Полная database-library на ≈212 000 реальных компонентов с MPN, supplier refs, 3D-моделями производителей, параметрической фильтрацией в Altium.
  • BOM заполняется автоматически при Place — никакого ручного ввода MPN.
  • 311 категорийных views прямо в Components panel (Resistors по размерам пакетов, Capacitors Ceramic/Electrolytic/Tantalum, MOSFETs N/P-Ch, MCUs, Motor Drivers, Voltage Regulators и т.д.).
  • Обновления прилетают автоматически по мере добавления Mark Harris'ом новых компонентов на облачный сервер.

Объём локальных файлов после клонирования: ≈4–6 GB (в основном STEP-модели через Git LFS).


1. Регистрация на портале и получение DbLib

1.1. Зарегистрируйся на портале

Открой https://portal.altiumlibrary.com/REGISTER → заполни форму. Email реальный — понадобится для активации и восстановления пароля.

1.2. Создай Server Login

Портал разделяет аккаунт на портале (твой email и пароль) и логин к SQL-серверу (генерируется случайно, нужен для подключения Altium).

  1. Войди на портал.
  2. Server LoginsNew Login.
  3. В списке баз выбери altium_libraryCreate.
  4. Портал сгенерирует случайные username/password — скачай или запиши их сразу, второй раз посмотреть пароль нельзя.

Важно, почему креды случайные: DbLib хранит их plain-text на диске. Mark Harris принципиально генерирует их, чтобы ты не вписал свой обычный пароль.

1.3. Скачай DbLib

Server LoginsManage → напротив созданного логина кнопка DbLib. Скачается файл вида Celestial_Altium_Library_-_altium_library.DbLib — ini-файл с уже зашитой ConnectionString к твоему персональному логину.

Открой его в текстовом редакторе и проверь первую строчку после [DatabaseLinks]:

ConnectionString = Provider=SQLNCLI11.1; User ID=alib_xxxx; Password=...; Initial Catalog=altium_library; Data Source=db.altiumlibrary.com,1433; Initial File Name=""; Server SPN=""

Ключевые детали:

  • Provider=SQLNCLI11.1 — SQL Server Native Client 11 (deprecated Microsoft'ом в 2021, но именно его запрашивает этот DbLib). Будем ставить.
  • Data Source=db.altiumlibrary.com,1433 — сервер Mark Harris'а в OVH France (51.68.218.24), не Azure SQL.

2. Клонирование библиотеки

Репозиторий issus/altium-library хранит SchLib/PcbLib/STEP локально, база с параметрами — на облачном SQL. Оба нужны одновременно.

2.1. Установи Git с поддержкой LFS

# Если Git ещё нет — ставим отсюда (официальный инсталлятор):
# https://git-scm.com/download/win
# В инсталляторе обязательно галочка "Git LFS support" — она по умолчанию включена.

# Проверка:
git --version
git lfs version

Без Git LFS клонирование «прошуршит» по указателям, но STEP-файлы не скачаются — вместо них будут текстовые stub'ы размером ~130 байт.

2.2. Клонируй репозиторий

git lfs install                                 # один раз на пользователя
cd C:\Work                                      # или куда тебе удобно
git clone https://github.com/issus/altium-library.git

Клонирование займёт 5–15 минут (≈4–6 GB через LFS).

2.3. Положи DbLib в папку репозитория

Скачанный в 1.3 файл *.DbLib скопируй в корень клонированного репозитория — рядом с Altium Database Library V2.DbLib, symbols/, footprints/. Это важно: в DbLib footprint/symbol refs прописаны относительными путями, и Altium ищет их относительно DbLib-файла.

C:\Work\altium-library\
├─ Altium Database Library V2.DbLib         ← шаблон из репо (не трогать)
├─ Celestial_Altium_Library_-_altium_library.DbLib  ← твой, из портала
├─ symbols\
├─ footprints\
├─ STEP\
└─ ...

2.4. Обновление базы в будущем

Регулярно подтягивай свежие символы и футпринты:

cd C:\Work\altium-library
git pull
git lfs pull

3. Установка Windows-зависимостей

Это дно происходящего: тебе нужен устаревший драйвер Microsoft из инсталлятора SQL Server 2012 SP4 Feature Pack, потому что DbLib требует SQLNCLI11.1. Плюс Visual C++ Redistributable — без него драйвер не зарегистрируется в реестре.

Ниже — всё через прямые MSI с download.microsoft.com, без Microsoft Store и winget msstore (заблокированы для RU).

3.1. Visual C++ Redistributable (x86 + x64)

Если у тебя современный Windows 11 с Visual Studio / dotnet — уже стоит. На чистой машине ставь обе архитектуры; x64 не включает x86-часть, а она нужна для 32-битных компонентов драйвера.

Через winget (это community source, RU-блокировки не касается):

winget install --id Microsoft.VCRedist.2015+.x64 --exact --accept-package-agreements --accept-source-agreements
winget install --id Microsoft.VCRedist.2015+.x86 --exact --accept-package-agreements --accept-source-agreements

Или прямые инсталляторы:

3.2. SQL Server Native Client 11 (sqlncli.msi) — ОБЯЗАТЕЛЬНО

Это именно тот «старый» провайдер, который записан в DbLib. Он идёт в составе SQL Server 2012 SP4 Feature Pack и распространяется как standalone MSI.

Elevated PowerShell (запуск от администратора):

$url  = "https://download.microsoft.com/download/B/E/D/BED73AAC-3C8A-43F5-AF4F-EB4FEA6C8F3A/ENU/x64/sqlncli.msi"
$msi  = "$env:TEMP\sqlncli_x64.msi"

Invoke-WebRequest -Uri $url -OutFile $msi -UseBasicParsing
msiexec /i $msi /qn IACCEPTSQLNCLILICENSETERMS=YES

Флаг IACCEPTSQLNCLILICENSETERMS=YES обязателен для silent install. Без него /qn падает без ошибки, драйвер не ставится.

Проверка установки:

Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\SQLNCLI11" -ErrorAction SilentlyContinue |
    Select-Object InstalledVersion
# Должно показать InstalledVersion 11.4.x (или выше)

3.3. Microsoft OLE DB Driver 19 for SQL Server — ОПЦИОНАЛЬНО

Современный актуальный провайдер. Для Celestial как такового не нужен, но пригодится для будущих проектов с SQL Server / Azure SQL, и ставится side-by-side с SQLNCLI11 без конфликтов.

# Актуальная GA: MSOLEDBSQL 19.4.1 (2025-05-09)
$url = "https://go.microsoft.com/fwlink/?linkid=2318101"   # x64 + Arm64
$msi = "$env:TEMP\msoledbsql.msi"
Invoke-WebRequest -Uri $url -OutFile $msi -UseBasicParsing
msiexec /i $msi /qn IACCEPTMSOLEDBSQLLICENSETERMS=YES

3.4. НЕ ставь Microsoft Access

Altium при проблемах с OLE DB fallback'ается на ошибку «requires 64-bit Microsoft Access Database Engine». Это ложное сообщение. SQLNCLI11 — это OLE DB Provider, а не ODBC и вообще не связан с Access. Установка Access/ACE ничего не починит и не требуется.


4. Сетевой доступ до сервера

Сервер db.altiumlibrary.com (51.68.218.24, OVH France) принимает соединения только по TCP 1433. Это порт MSSQL, и он часто фильтруется:

  • Windows Firewall исходящий — обычно пропускает, но проверить стоит.
  • Российские ISP — могут резать 1433 на uplink (anti-spam / anti-bruteforce).
  • Корпоративные сети — почти всегда режут.
  • Azure/OVH со стороны сервера — может whitelist'ить.

4.1. Проверка доступности

Test-NetConnection -ComputerName db.altiumlibrary.com -Port 1433

Ждёшь:

TcpTestSucceeded : True

Если False — либо таймаут, либо RST. Смотри RemoteAddress — там должно быть 51.68.218.24.

4.2. Если 1433 закрыт — заворачиваем через VPN

Для твоей инфраструктуры (MikroTik + xray/AmneziaWG контейнеры на 192.168.9.147):

  1. На MikroTik в адрес-лист для VPN-маршрутизации добавь:
    • db.altiumlibrary.com (MikroTik умеет DNS-name в address-list с автообновлением)
    • или статически 51.68.218.24/32
  2. Убедись, что правило /ip firewall mangle для mark-routing захватывает этот адрес (по dst-address-list).
  3. Проверь с машины:
# Должен идти через VPN-интерфейс
Test-NetConnection -ComputerName db.altiumlibrary.com -Port 1433
tracert -h 5 51.68.218.24

Важно: SQLNCLI11 по умолчанию не шифрует трафик. Пароль из DbLib летит по сети в TDS-фрейме. Если между машиной и сервером есть untrusted сегмент — VPN не только для обхода блока, но и для минимальной защиты транспорта.


5. Подключение в Altium Designer

На этом этапе у тебя должно быть:

  • SQLNCLI11 стоит (проверено через реестр)
  • db.altiumlibrary.com:1433 доступен (TcpTestSucceeded : True)
  • DbLib лежит в папке с клонированным репо

5.1. Открой Altium Designer

Любой проект, можно пустой. Открой панель Components (View → Panels → Components, или снизу справа Panels → Components).

5.2. Окно File-based Libraries Preferences

В панели Components нажми иконку меню (≡ или три точки — зависит от версии AD) → в разных версиях Altium этот пункт называется по-разному:

  • AD 20+ (включая 26.x): File-based Libraries Preferences...
  • Старые AD: Libraries Preferences...

Откроется окно Available File-based Libraries.

5.3. Установка DbLib

  1. Вкладка Installed.
  2. Кнопка Install внизу → выбери C:\Work\altium-library\Celestial_Altium_Library_-_altium_library.DbLib.
  3. Проверь, что в списке появилась строка с типом Database.
  4. Галочка Activate должна быть включена.
  5. НЕ закрывай окно сразу — Altium начнёт подключение и может вывести ошибку.

5.4. Первая загрузка

На этом шаге Altium:

  1. Коннектится к db.altiumlibrary.com:1433.
  2. Выполняет ~600 SELECT-запросов (один на каждый view) для получения схемы колонок и параметров фильтрации.
  3. Строит локальный индекс.

На хорошем интернете через прямой канал — 30–60 секунд. Через VPN с RTT 150 мс — до 23 минут. Splash Altium будет показывать Loading Document Celestial Altium Library - altium_library.DbLib.

Не перебивай, не закрывай Altium. Если висит >5 минут — смотри Troubleshooting.

5.5. Проверка результата

В Components panel сверху появится дропдаун с views. Должно быть примерно так:

Components ▾
├─ Capacitors - Ceramic - 0402
├─ Capacitors - Ceramic - 0603
├─ ... (18 views под конденсаторы)
├─ Connectors - ... (18 views)
├─ Diodes - ... (5 views)
├─ Inductors - Power
├─ MOSFET - Single - N-Ch
├─ MOSFET - Single - P-Ch
├─ Motor Drivers Controllers
├─ Resistors - Surface Mount - 0402
├─ ... (12 views под резисторы)
└─ Voltage Regulators - DC DC Switching Regulators

Выбери, например, Resistors - Surface Mount - 0603 → справа от списка компонентов появится панель параметрической фильтрации (Resistance, Tolerance, Power Rating, Temperature Coefficient, Manufacturer).

Всё — база работает.


6. Использование

6.1. Размещение компонента

  1. В схеме → панель Components → выбери нужный view.
  2. Отфильтруй по параметрам (например, Resistance = 10k, Tolerance = 1%).
  3. Двойной клик на компоненте → компонент появится в курсоре.
  4. Разместишь на схеме — Altium автоматически:
    • Скачает symbol из локального symbols/ (по Library Ref из БД).
    • Скачает footprint из локального footprints/.
    • Пропишет все параметры в атрибутах компонента (MPN, Manufacturer, Supplier, Price, Datasheet URL).

6.2. Генерация BOM

Project → Project Options → OutputJob Files → Report Outputs → Bill of Materials. В BOM автоматически попадут Manufacturer Part Number, Manufacturer, Supplier 1 Part Number, Supplier 1 Unit Price и т.д. — заполнять руками ничего не нужно.

6.3. Если нужного компонента нет в Celestial

  1. Создай свой SchLib/PcbLib рядом с клоном (например, C:\Work\altium-library-custom\).
  2. В File-based Libraries Preferences → Installed добавь рядом со страницей Celestial DbLib.
  3. Свои компоненты работают параллельно, без конфликтов.

Либо отправь PR в issus/altium-library — Mark принимает, если параметры и 3D-модели от производителя.


7. Troubleshooting

7.1. «64-bit Microsoft Access Database Engine required»

Причина: Altium не смог загрузить OLE DB провайдер, указанный в DbLib (SQLNCLI11.1), и fallback'нулся на общее misleading сообщение про Access.

Решение:

  1. Убедись, что SQLNCLI11 стоит: Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\SQLNCLI11"
  2. Если стоит, а ошибка сохраняется — закрой Altium полностью (проверь через Task Manager, что X2.EXE не висит), запусти заново.
  3. Если не помогло — переустанови SQLNCLI11 с /l*v log.txt для диагностики: msiexec /i sqlncli.msi /l*v "$env:TEMP\sqlncli.log" IACCEPTSQLNCLILICENSETERMS=YES

7.2. «Connection Failed. Check your connection settings»

Причина: драйвер OK, но не доходит до сервера.

Решение:

  1. Test-NetConnection -ComputerName db.altiumlibrary.com -Port 1433
  2. Если False — настрой VPN (см. раздел 4.2).
  3. Если True, но Altium всё равно ругается — проверь пароль в DbLib (не скопировался ли лишний пробел), либо создай новый Server Login на портале и скачай свежий DbLib.

7.3. Views с префиксом z_ в списке

Причина: DbLib устарел, в нём есть ссылки на underlying tables, которые не имеют Altium-совместимых колонок.

Решение: скачай свежий DbLib с портала (Server Logins → Manage → DbLib), замени свой. Не удаляй старый до проверки нового — если что-то пойдёт не так, вернёшь.

7.4. Components panel показывает views, но внутри пусто

Причина: сетевое подключение «оборвалось» посередине загрузки (timeout на отдельных views).

Решение:

  1. Закрой Altium полностью.
  2. Если через VPN — проверь стабильность канала.
  3. Запусти Altium, подожди полной загрузки (иногда нужен F5 в панели Refresh).

7.5. «Footprint not found» при Place

Причина: компонент только что добавили в облачную БД, а локальные SchLib/PcbLib ещё не обновлены.

Решение:

cd C:\Work\altium-library
git pull
git lfs pull

В Altium: Components panelRefresh (F5).

7.6. STEP-модели не отображаются в 3D

Причина: клон сделан без Git LFS, или git lfs pull не выполнен.

Решение:

cd C:\Work\altium-library
git lfs install
git lfs pull

Проверь размер файла STEP\*.STEP — рабочие модели весят 50–500 KB, LFS-указатели — ровно 133 байта.

7.7. Altium падает при открытии DbLib

Причина: conflict с Altium Vault / Altium 365 workspace (попытка загружать один и тот же компонент из двух источников).

Решение: временно disconnect workspace (File → Altium 365 → Sign Out), перезапусти Altium, подключи DbLib, потом заново подключись к workspace.


8. Автоматизация: production-ready установщик одной командой

Чтобы поднять всё на новой машине одним вызовом — скрипт ниже. Запускать от администратора, только после того, как уже есть скачанный с портала DbLib.

#Requires -RunAsAdministrator

param(
    [Parameter(Mandatory=$true)]
    [string]$RepoDir = "C:\Work\altium-library",

    [Parameter(Mandatory=$true)]
    [string]$DbLibPath,     # путь к скачанному из портала .DbLib
    
    [switch]$InstallMSOLEDBSQL  # опционально поставить ещё и современный провайдер
)

$ErrorActionPreference = "Stop"

# 1. Git + LFS
if (-not (Get-Command git -ErrorAction SilentlyContinue)) {
    winget install --id Git.Git --exact --accept-package-agreements --accept-source-agreements
}
git lfs install

# 2. VC++ Redist
winget install --id Microsoft.VCRedist.2015+.x64 --exact --accept-package-agreements --accept-source-agreements
winget install --id Microsoft.VCRedist.2015+.x86 --exact --accept-package-agreements --accept-source-agreements

# 3. SQLNCLI11 — ОБЯЗАТЕЛЬНО
$sqlncli = "$env:TEMP\sqlncli_x64.msi"
Invoke-WebRequest -UseBasicParsing `
    -Uri "https://download.microsoft.com/download/B/E/D/BED73AAC-3C8A-43F5-AF4F-EB4FEA6C8F3A/ENU/x64/sqlncli.msi" `
    -OutFile $sqlncli
Start-Process msiexec -ArgumentList "/i", $sqlncli, "/qn", "IACCEPTSQLNCLILICENSETERMS=YES" -Wait

# 4. MSOLEDBSQL 19 (опционально)
if ($InstallMSOLEDBSQL) {
    $msoledb = "$env:TEMP\msoledbsql.msi"
    Invoke-WebRequest -UseBasicParsing `
        -Uri "https://go.microsoft.com/fwlink/?linkid=2318101" `
        -OutFile $msoledb
    Start-Process msiexec -ArgumentList "/i", $msoledb, "/qn", "IACCEPTMSOLEDBSQLLICENSETERMS=YES" -Wait
}

# 5. Клон репозитория
if (-not (Test-Path $RepoDir)) {
    New-Item -ItemType Directory -Path (Split-Path $RepoDir -Parent) -Force | Out-Null
    git clone https://github.com/issus/altium-library.git $RepoDir
} else {
    Push-Location $RepoDir
    git pull
    git lfs pull
    Pop-Location
}

# 6. Копируем DbLib в папку репо
Copy-Item $DbLibPath -Destination $RepoDir -Force

# 7. Проверки
Write-Host "`n=== Проверки ===" -ForegroundColor Cyan
$sqlncli_ver = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\SQLNCLI11" -ErrorAction SilentlyContinue).InstalledVersion
Write-Host "SQLNCLI11 version: $sqlncli_ver"
$tcp = Test-NetConnection -ComputerName db.altiumlibrary.com -Port 1433 -WarningAction SilentlyContinue
Write-Host "db.altiumlibrary.com:1433 reachable: $($tcp.TcpTestSucceeded)"
if (-not $tcp.TcpTestSucceeded) {
    Write-Warning "Порт 1433 недоступен — настрой VPN (см. раздел 4.2 инструкции)"
}

Write-Host "`nГотово. Открывай Altium → Components panel → File-based Libraries Preferences → Install → $DbLibPath" -ForegroundColor Green

Запуск:

.\install-celestial.ps1 -DbLibPath "$env:USERPROFILE\Downloads\Celestial_Altium_Library_-_altium_library.DbLib"

9. Ссылки

Microsoft — прямые ссылки на MSI


10. Changelog этой инструкции

Дата Изменения
2026-04-18 Первая версия. Проверено на Altium Designer 26.4.1, Windows 11, MSOLEDBSQL 19.4.1.0, SQLNCLI 11.4.x.