Как установить соединение с базой данных OpenEdge - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь подключиться к базе данных OpenEdge, чтобы я мог выполнять запросы к ней.Однако у меня возникают проблемы с выяснением, как подключиться к нему для выполнения этих запросов.

До сих пор я пытался создать файл конфигурации, но я не уверен, как установить соединение с сервером, используяэто:

"HMMv10": {
    "dbConfig": {
    "connectionString": "DRIVER={Progress OpenEdge 11.3 Driver}",
    "UID": "SYSPROGRESS",
    "pwd": "***",
    "host": "host.local",
    "port": "18210",
    "db": "hmm10"
    }
}

Ответы [ 2 ]

1 голос
/ 10 июля 2019

Я не знаю, с чем этот файл конфигурации идет и как он работает, но перед попыткой настроить стороннее программное обеспечение для подключения к базе данных OpenEdge было бы неплохо использовать предоставленные инструменты OE, чтобы убедиться, что у вас есть Правильно настроенное соединение доступно для подключения.

Progress предоставляет инструмент командной строки под названием «sqlexp», который можно использовать для проверки соединений. Самый простой способ получить доступ к этому инструменту - через командную оболочку proenv. В Windows просто откройте «proenv» (он устанавливается вместе с другими командами Progress в группе программ «Progress»). Если у вас установлена ​​Linux или UNIX, вы запускаете $ DLC / bin / proenv.

Затем запустите sqlexp следующим образом (я использовал свое локальное имя базы данных и номер порта):

proenv> sqlexp -db s2k -H localhost -S 9500 -user sysprogress -password sysprogress

OpenEdge Release 11.7.2 as of Tue Oct 24 18:20:59 EDT 2017
Connecting user "sysprogress" to URL "jdbc:datadirect:openedge://localhost:9500;databaseName=s2k"... (8920)

SQLExplorer>

Если ошибок нет, и вы получаете приглашение SQLExplorer>, достаточное для подтверждения наличия работающего соединения.

Если вы хотите пройти лишнюю милю и доказать, что вам предоставлено разрешение на выборку данных, попробуйте простой оператор выбора:

SQLExplorer> select count(*) from pub.customer;

            count(*) 
-------------------- 
                1117 

SQLExplorer> quit;

proenv>

Если это не работает, то локальный администратор базы данных не настроил доступ SQL, или у вас неверные параметры конфигурации / учетные данные, и никакая работа с вашим другим инструментом не исправит это.

Примечания OpenEdge SQL:

Если вы еще не знаете - все данные OpenEdge имеют переменную длину. Многие инструменты SQL ожидают, что ширина поля известна, используют данные метасхемы, чтобы получить значение по умолчанию. Если локальный администратор баз данных не поддерживал эти данные с помощью «dbtool», вы, вероятно, будете иметь ошибки из-за того, что данные шире, чем ожидалось.

sqlexp ожидает, что команды заканчиваются на ";".

Схема "pub" - это схема, в которой находятся таблицы приложений OpenEdge. Имена таблиц должны иметь «pub». предварительно затрачиваемая.

Имена таблиц и полей, содержащие "-", должны быть заключены в кавычки.

0 голосов
/ 12 июля 2019

Я выкладываю то, что нашел ответом на тот случай, если кто-то еще ищет это.Используя REST API в NodeJS, я использовал npm-odbc и драйверы OpenEdge odbc для подключения к базе данных.Несмотря на то, что в пакете npm-odbc упоминается только Unix, он действительно работает в Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...