如何建立与OpenEdge数据库的连接

时间:2019-07-10 13:48:31

标签: node.js express openedge progress-db

我正在尝试连接到OpenEdge数据库,以便可以对其进行查询。但是,我在弄清楚如何连接到它以进行这些查询时遇到了麻烦。

到目前为止,我已经尝试制作一个配置文件,但是我不确定如何使用该文件建立与服务器的连接:

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

2 个答案:

答案 0 :(得分:1)

我不知道该配置文件会附带什么或它如何工作,但是在尝试设置第三方软件连接到OpenEdge数据库之前,最好使用提供的OE工具来验证您是否拥有该配置文件。正确配置的可供连接的连接。

Progress提供了一个名为“ sqlexp”的命令行工具,可用于测试连接。访问该工具的最简单方法是通过“ proenv”命令外壳程序。在Windows上,只需打开“ proenv”(它与“ Progress”程序组中的其他Progress命令一起安装)。如果安装了Linux或UNIX,则运行$ DLC / bin / proenv。

然后像这样启动sqlexp(我使用了本地dbname和端口号):

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>提示,该提示足以表明存在可用的连接。

如果您想加倍努力并证明您已被授予获取数据的权限,请尝试以下简单的select语句:

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

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

SQLExplorer> quit;

proenv>

如果这不起作用,则说明本地DBA尚未配置SQL访问权限,或者您的配置/凭据不正确,并且无法使用其他工具进行修复。

OpenEdge SQL注释:

如果您还不知道-所有OpenEdge数据的长度都是可变的。许多SQL工具期望使用metaschema数据来获取默认值,从而知道字段的宽度。如果本地DBA尚未通过“ dbtool”维护该数据,则由于数据范围超出预期,您可能会出错。

sqlexp期望命令以“;”结尾。

“发布”架构是OpenEdge应用程序表所在的架构。表名称必须具有“ pub”。

包含“-”的表和字段名称将被引用。

答案 1 :(得分:0)

我提供了我发现的答案,以防万一其他人正在寻找答案。在NodeJS中使用REST API,我使用了npm-odbc和OpenEdge odbc驱动程序来连接数据库。即使npm-odbc软件包仅提及Unix,它实际上也可以在Windows上运行。