【问题标题】:How to connect to database from oracle forms programmatically如何以编程方式从 oracle 表单连接到数据库
【发布时间】:2018-04-23 17:34:35
【问题描述】:

我正在使用 oracle forms 6i, 我想使用 pl/sql 代码以编程方式连接到数据库

当表单运行如下图时,我不希望最终用户插入用户名和密码以及数据库名称:

.

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

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

但它返回错误;

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

【问题讨论】:

  • 而返回的错误是..?
  • 错误 103 在第 2 行,第 10 列遇到符号“连接到 hr/hr@yemensoft”时预期以下之一::=.(@%; ....
  • 解释:execute 用于运行PL/SQLconnect 是 SQL*Plus 语法,不是 PL/SQL。

标签: oracle plsql oracleforms


【解决方案1】:

要走的路是在您的ON-LOGON 触发器中拥有:

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

确保在您的 formsweb.cfg 中添加类似这样的内容:

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

【讨论】:

    【解决方案2】:

    您必须使用LOGON 内置过程:

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

    LOGON 内置

    描述:使用指定的用户名和密码执行默认的 Oracle Forms 登录处理。当您想要增强默认登录处理时,从 On-Logon 触发器调用此过程。 语法

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-29
      • 2017-05-18
      • 2011-10-27
      • 1970-01-01
      • 2014-06-03
      • 1970-01-01
      相关资源
      最近更新 更多