从 ABL 连接到 Progress Openedge 数据库
Connecting to a Progress Openedge database from ABL
如果我在进度编辑器中 运行 这段代码工作正常。如果我将其另存为 .p 文件并单击右键 "RUN",它会给我一个数据库不存在的错误。我知道也许我应该插入一些代码来连接到数据库。
有人知道我应该使用什么语句吗?
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.
正如您所说,您需要连接到您的数据库。这可以通过几种不同的方式完成。
通过 CONNECT 语句连接
您可以使用 CONNECT 语句连接数据库。基本上:
CONNECT <database name> [options]
这是一个简单的语句,它连接到一个名为 "database" 运行ning 的本地数据库,端口号为 43210。
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。
然后你将不得不修改你开始会话的方式,而不是仅仅做 prowin32.exe(如果你在 windows)你添加 -pf 参数:
prowin32.exe -pf myparameterfile.pf
参数文件将包含您所有的连接参数:
# myparameterfile.pf
-db database -S localhost -P 12345
井号 (#) 用于参数文件中的注释。
在 Linux/Unix 你会 运行:
pro -pf myparameterfile.pf
您还可以针对同一会话中使用的不同数据库混合使用不同的方法。
如果我在进度编辑器中 运行 这段代码工作正常。如果我将其另存为 .p 文件并单击右键 "RUN",它会给我一个数据库不存在的错误。我知道也许我应该插入一些代码来连接到数据库。
有人知道我应该使用什么语句吗?
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.
正如您所说,您需要连接到您的数据库。这可以通过几种不同的方式完成。
通过 CONNECT 语句连接
您可以使用 CONNECT 语句连接数据库。基本上:
CONNECT <database name> [options]
这是一个简单的语句,它连接到一个名为 "database" 运行ning 的本地数据库,端口号为 43210。
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。
然后你将不得不修改你开始会话的方式,而不是仅仅做 prowin32.exe(如果你在 windows)你添加 -pf 参数:
prowin32.exe -pf myparameterfile.pf
参数文件将包含您所有的连接参数:
# myparameterfile.pf
-db database -S localhost -P 12345
井号 (#) 用于参数文件中的注释。
在 Linux/Unix 你会 运行:
pro -pf myparameterfile.pf
您还可以针对同一会话中使用的不同数据库混合使用不同的方法。