【问题标题】:Connecting to a Progress Openedge database from ABL从 ABL 连接到 Progress Openedge 数据库
【发布时间】:2015-04-21 20:07:04
【问题描述】:

如果我在进度编辑器中运行此代码,它可以正常工作。如果我将其保存为 .p 文件并单击右键“运行”,则会出现数据库不存在的错误。我知道也许我应该插入一些代码来连接到数据库。

有人知道我应该使用什么语句吗?

DEF STREAM st1.
OUTPUT STREAM st1 TO c:\temp\teste.csv.

FOR EACH bdName.table NO-LOCK:
   PUT STREAM st1 UNFORMATTED bdName.Table.attr ";" SKIP.
END.
OUTPUT STREAM st1 CLOSE.

【问题讨论】:

    标签: database-connection openedge progress-db


    【解决方案1】:

    正如您所说,您需要连接到数据库。这可以通过几种不同的方式来完成。

    通过 CONNECT 语句连接

    您可以使用 CONNECT 语句连接数据库。基本上:

    CONNECT <database name> [options]
    

    这是一个简单的语句,它连接到在端口 43210 上运行的名为“database”的本地数据库。

    CONNECT database.db -H localhost -S 43210.
    

    -H 指定运行数据库的主机。这可以是名称或 IP 地址。 -S 指定数据库用于连接的端口(或服务)。这可以是数字或服务名称(在这种情况下,必须在 /etc/services 或类似文件中指定)

    但是,您无法连接到数据库并在同一程序中使用它的表。相反,您需要在一个程序中连接,然后在第二个程序中运行逻辑

    /* runProgram.p */
    CONNECT database -H dbserver -S 29000.
    RUN program.p.
    DISCONNECT database.
    
    /* program.p */
    FOR EACH exampletable NO-LOCK:
      DISPLAY exampletable.
    END.
    

    通过命令行参数连接

    您可以在启动命令中简单地添加参数,以便新会话从一开始就连接到一个或多个数据库。

    Windows:
    
    prowin32.exe -db mydatabase -H localhost -S 7777
    

    在执行此操作之前请查看下面的选项(参数文件)

    通过命令行参数连接(使用参数文件)

    另一种选择是使用参数文件,通常扩展名为 .pf。

    然后您将不得不修改启动会话的方式,因此您可以添加 -pf 参数,而不是仅仅执行 prowin32.exe(如果您在 Windows 上):

    prowin32.exe -pf myparameterfile.pf
    

    参数文件将包含您的所有连接参数:

    # myparameterfile.pf 
    -db database -S localhost -P 12345
    

    Hashtag (#) 用于参数文件中的 cmets。

    在 Linux/Unix 上你会运行:

    pro -pf myparameterfile.pf
    

    您还可以为同一会话中使用的不同数据库混合不同的方式。

    【讨论】:

    • 我现在正在使用这个:CONNECT database.db -H localhost -S 43210。我如何获得端口号?
    • 如何启动数据库?如果您不将其作为服务器启动(您应该),您可以在 Windows 上编写 CONNECT c:\directory\name.db 或在 Linux 上编写 CONNECT /dir/name。如果您作为服务启动,则端口在启动脚本中(以及在数据库日志文件 dbname.lg 中)
    • 谢谢詹斯德!它有效!
    猜你喜欢
    • 1970-01-01
    • 2020-02-08
    • 2012-03-19
    • 2014-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    • 2014-05-10
    相关资源
    最近更新 更多