Referencing Synonym to Remote Database Object in Forms Fails With Error or Causes Crash (Doc ID 365317.1)

Last updated on JULY 26, 2012

Applies to:

Oracle Forms - Version: 6.0 to 11.1 - Release: 6 to 11.1
Information in this document applies to any platform.
***Checked for relevance on 14-Dec-2009***
***Checked for relevance on 27-Jun-2011***

Symptoms

An attempt to reference a synonym to a remote database object (procedure / function / table) in Forms will fail or cause a crash.

For example:

----------- 

1. Create a simple database procedure in the remote database instance e.g MY_DB1

PROCEDURE MYTEST( p_no IN NUMBER ,p_string IN VARCHAR2 , p_date IN DATE )
IS
l_no NUMBER;
l_string VARCHAR2(100);
l_date DATE;
BEGIN
l_no := p_no;
l_string := p_string;
l_date := p_date;
END;

2. In the primary database instance e.g. MY_DB1 create a dblink and synonym to this procedure

CREATE PUBLIC DATABASE LINK mydblink CONNECT TO scott IDENTIFIED by tiger USING tns_database_alias_for_MY_DB2

CREATE PUBLIC SYNONYM mytest for mytest@mydblink

3. Create a simple form with a single button - WHEN-BUTTON-PRESSED trigger containing the code

mytest(1, 'hello', '06-APR-2006');

Compile the Form against the primary database - MY_DB1 - and run it. When the mytest procedure is called by pressing the button the following error occurs:

ORA-3113 "end-of-file on communication channel"

The error reproduces at will

----------

If the application logic is more complex, other errors may occur like the ones below may be seen:

ORA-06544: PL/SQL: internal error, arguments: [82103],[],[],[],[],[],[],[]

ORA-06553: PLS-801 : internal error [82103].

Forms 6i has been known to crash at compile or runtime

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms