Иногда после установки nanoCAD, пользователи видят сообщение:
Не удается открыть базу данных.
Последние версии nanoCAD (c версии 23 точно, может и раньше) по умолчанию работают с базой postgreSQL, хотя умеют и с SQL и localSQL от Microsoft.
Начнем с postgreSQL.
Если появилось сообщение: "Не удается открыть базу данных"
Вариантов несколько...
- postgreSQL не установился или не запустился
- База не развернулась на postgreSQL
- Неправильная строка подключения к postgreSQL (кроме имени базы, важен еще и порт на который мы подключаемся)
- запрет на подключение к базе извне в pg_hba.conf
в строчке: host all all 0.0.0.0/0 reject
Собственно сейчас бегло рассмотрим симптомы и возможности лечения
Открываем диспетчер задач, переходим на вкладку службы, сортируем по имени..
если видим такую строку (для nanoCAD старше 25 postgre 12) и состояние службы "Выполняется". postgreSQL у нас есть и он работает. Идем проверять дальше.
Если службы нет или она не работает, то очевидно, что postgreSQL не установился или встал неправильно.
Удаляем его (если он есть, но не работает) в установке удалении программ и ставим отсюда postgreSQL. Либо скачиваем с оф сайта postgreSQL (postgreSQL 17.5 прекрасно работает на nanoCAD 23.1-25.0)
Потребуются права администратора.
Можно не скачивать по ссылке, postgreSQL есть в составе дистрибутива nanoCAD, достаточно открыть инсталлятор WinRar'ом
Вот он в папочке PreReq
настройки установки можно посмотреть там же в файле pg_setup.ini
SuperUser=postgres
Password=password
Servicepassword=password
Port=5433
Для postgre 12, Port=5432,
Номера портов для разных версий postgreSQL отличаются, что бы при установленных нескольких версиях postgreSQL была возможность подключиться к любому серверу.
Если установка прошла Ок, то после перезагрузки убедившись, что служба postgreSQL появилась и запущена, переходим к следующему шагу.
Нам надо убедиться, что базы данных развернуты, что они есть..
Тут есть два пути, можно подключиться из ком строки и посмотреть, какие базы развернуты на сервере (об этом пару строк в конце статьи), но можно скачать и установить pgadmin и дальше разбираться с проблемой комфортно в графическом интерфейсе.
Для установки pgadmin права администратора не нужны (в случае если установка будет выполнена для текущего пользователя)
При подключении pgadmin запросит пароль, (пароль по умолчанию password).
При успешном подключении увидим такое окно
Красным выделены базы nanoCAD. Если баз данных начинающихся с nc* окошке нет, то надо развернуть нужные базы. Подробную инструкцию по процессу установки баз можно прочитать тут SPDS.ru. Установка баз доступна из под обычного пользователя.
После того как базы установлены, проверяем настройки подключения,
Сервис->Оформление
Нажимаем три точки
должно быть так:
localhost - сетевой адрес компьютера с развернутым postgreSQL (может быть сетевое имя или IP,
в этом случае localhost сетевой адрес нашей машины, можно прописать 127.0.0.1)
5433 - номер порта на который настроен postgreSQL , для 12-й версии postgre порт 5432 (в этом случае поле сервер можно не заполнять совсем, 5432 порт по умолчанию)
nspds250 - имя базы данных, которое мы подсмотрели в pgadmin.
После применения настроек база появится в базе элементов nanoCAD
Возможна ситуация, когда подключиться к серверу postgreSQL не удается ни из pgadmin, ни даже из командной строки. Как правило nanoCAD пишет, что сервер отверг подключение или, что то в этом роде.
Причина проста, начиная с nanoCAD 23, nanoCAD dev по видимому решила повысить безопасность и при установке nanoCAD инсталятор дописывает в файл:
c:\Program Files\PostgreSQL\16\data\pg_hba.conf
c:\Program Files\PostgreSQL\12\data\pg_hba.conf
следующие строчки:
# No users are able to access database from outside network connection.
# The record was added 02.05.2023 by setup.exe of
# product 'Платформа nanoCAD x64 23.0'.
host all all 0.0.0.0/0 reject
т.е. запрет подключения к PostgreSQL с других машин по сети.
Но иногда на корпоративных ПК, возможно из за сетевых настроек или локальных политик, эта строка запрещает и локальное подключение.
В принципе достаточно открыть файл pg_hba.conf в блокноте и закомментировать эту строку
вот так:
# host all all 0.0.0.0/0 reject
сохранить файл и перезапустить PostgreSQL, а лучше перезагрузить машину.
Инсталятор nanoCAD при перезаписи, pg_hba.conf создает резервную копию pg_hba.conf.bak, поэтому достаточно переименовать pg_hba.conf в pg_hba.conf _ , а pg_hba.conf.bak в pg_hba.conf и перезапустить компьютер, подключение к базам должно восстановиться.
Все просто, но для редактирования/переименования файла нужны права администратора. Простой пользователь не сможет даже зайти в каталог c:\Program Files\PostgreSQL\16\data\
PS посмотреть имена баз, да и вообще проверить подключение postgre можно и без pgadmin, из командной строки.
- Открываем командную строку:
- cd C:\Program Files\PostgreSQL\16\bin переходим в каталог postgre
- @chcp 1251 ставим кодовую страницу локали (что бы не было кракозябр)
- psql -U postgres
- вводим пароль password
- \l
и видим такую красоту
PPS переключать базы в можно не только через настройки, но и из командной строки nanoCAD, подробнее можно почитать тут.
Благодарности:
- телеграмм каналу https://t.me/nanocad
- Сергею Устинову
Хотел писать про подключение к базе localSQL, а оно уже написано читать тут
Компоненты localSQL в личном кабинете уже недоступны забрать их можно тут
Комментариев нет:
Отправить комментарий