如何通过编程从Oracle Forms连接到数据库

3
我正在使用Oracle Forms 6i, 我想通过PL/SQL代码以编程方式连接到数据库。
我不希望最终用户在运行表单时插入用户名、密码和数据库名称,就像这个图片所示:
.I don't want final user to face this dialog 我使用了类似以下的pre-form触发器:
begin
    execute 'connect to hr/hr@yemensoft';   
end;

但是它返回了错误;

错误 103,第2行,第10列,遇到符号“连接到 hr/hr@yemensoft”,但期望其中之一::=.(@%;


返回的错误是什么? - Wernfried Domscheit
第2行,第10列出现错误103 遇到符号“connect to hr/hr@yemensoft”,但期望其中之一::=.(@%; .... - Saddam Meshaal
1
解释:execute 用于运行 PL/SQLconnect 是 SQL*Plus 语法,不是 PL/SQL。 - Jeffrey Kemp
2个回答

5

您需要使用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);

2
走的正确方式是在您的ON-LOGON触发器中添加以下内容:
LOGON('hr', 'hr'||'@'||Get_Application_Property(CONNECT_STRING), false);

请确保在您的 formsweb.cfg 中添加类似以下内容:

[your-conf-for-db-yemensoft]
...
...
userid=@yemensoft

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接