如何以编程方式从 oracle 表单连接到数据库

How to connect to database from oracle forms programmatically

我正在使用 oracle forms 6i, 我想使用 pl/sql 代码

以编程方式连接到数据库

我不希望最终用户在形成如下图 运行 时插入用户名和密码以及数据库名称:

.

我使用了这样的预制触发器:

begin
    execute 'connect to hr/hr@yemensoft';   
end;

但它 returns 有错误;

error 103 at line2, column 10 encountered the symbol "connect to hr/hr@yemensoft" when expecting one of the following: :=.(@%;

您必须使用 LOGON 内置程序:

LOGON('hr', 'hr@yemensoft');

LOGON Built-in

Description: Performs the default Oracle Forms logon processing with an indicated username and password. Call this procedure from an On-Logon trigger when you want to augment default logon processing. Syntax

PROCEDURE LOGON(username VARCHAR2, password VARCHAR2); 
PROCEDURE LOGON(username VARCHAR2, password VARCHAR2, logon_screen_on_error BOOLEAN);

要走的路是在你的 ON-LOGON 触发器中:

LOGON('hr', 'hr'||'@'||Get_Application_Property(CONNECT_STRING), false);

确保在您的 formsweb.cfg:

中添加类似这样的内容
[your-conf-for-db-yemensoft]
...
...
userid=@yemensoft