|Oracle® Application Express Release Notes
Part Number E10495-02
These Release Notes contain important information not included in the Oracle Application Express documentation. For the most current information, refer to updates of this document, which are located at the following Web site:
This document contains these topics:
The value of the character set portion of PlsqlNLSLanguage in the configuration of the
mod_plsql Database Access Descriptor (DAD) must be set to
AL32UTF8, regardless of the underlying database character set.
The Database Access Descriptor now contains a parameter for
PlsqlRequestValidationFunction. The purpose of this parameter is to limit the number of procedures which can be invoked through
mod_plsql. By default, the only procedures permitted are the public entry points of Oracle Application Express. This can be extended using the validation functions shipped with Oracle Application Express. To learn more, see "Restricting Access to Oracle Application Express by Database Access Descriptor (DAD) in Oracle Database Application Express User's Guide.
PlsqlRequestValidationFunction for a Database Access Descriptor may cause existing applications which relied upon publicly executable procedures to fail. You may choose to either omit the
PlsqlRequestValidationFunction from the Database Access Descriptor definition, or follow the recommended approach of extending the supplied validation function.
The following are no longer supported in Oracle Application Express, release 3.1.2.
The following Web browsers are no longer supported:
Netscape Communicator 7.2 or higher
Mozilla 1.7 or higher
See Also:"Supported Web Browsers"
This section describes bugs and known issues for Oracle Application Express:
If you enter invalid text in the Migration Export File field in the first step of the Create Project wizard, you might receive an Access Denied error and the progress bar might persist. This may occur when you are using Internet Explorer 6.0 on Windows XP.
This issue is tracked with Oracle bug 5614432.
Use either the Browse option or enter the full path manually. Be sure to enter a valid SQL script and path in this field.
Microsoft Internet Explorer 6.0 or higher (Windows only)
Firefox 1.0 or higher
See Also:"Web Browsers No Longer Supported"
SQL scripts containing multibyte characters cannot be edited in the SQL Script editor if multibyte characters occur in the first line. Note that this issue does not occur when using Internet Explorer 7.0 and Firefox 1.5.0 or higher.
This issue most often occurs when the first line of the script contains multibyte characters. You can correct this problem by adding a new first line containing non-multibyte characters, for example two hyphens (--), and making sure the line containing multibyte characters moves to the second line.
If you experience problems with an SVG chart, try migrating the chart to a Flash chart.
To migrate an SVG chart to Flash:
Navigate to the appropriate Page Definition.
Under Regions, click the region name. The region name displays to the left of SVG Chart.
On the Region Definition, click Migrate SVG Chart to Flash Chart on the Tasks list.
See Also:"Creating Charts" in Oracle Database Application Express User's Guide
Oracle Application Express does not support an EBCDIC character set. The value of the character set in the configuration of the
mod_plsql Database Access Descriptor (DAD) must be set to
AL32UTF8, regardless of the underlying database character set.
See Also:"Important Configuration Changes"
Creating a report region based on a query that contains a string with two dashes may hinder the Application Express Engine's ability to handle item bind variable references. Consider the following example:
SELECT ename, job, sal, comm, deptno FROM emp WHERE instr ('-'||'-dash-'||'-','uu') = 0 AND deptno = :P18_X AND 1 = 1
You can correct this behavior by changing the bind variable format. For example, to correct this issue in the previous example you would change
In Oracle Application Express, release 3.1.2 online Help is not translated into Japanese.
If you import spreadsheet data by copying and pasting and a column value contains a double quotation mark, the data will not import correctly (for example,
54" Plasma Flat Screen). To avoid this problem, you have two options:
Save the data in a delimited format (such as comma-delimited (.csv) or tab-delimited).
Use Import Text Data wizard to upload and import the saved file.
Replace the quotation mark with two double quotation marks as shown in the following example:
54"" Plasma Flat Screen
Use the Import Spreadsheet Data wizard to import the file.
When you view the Number/Date Format popup dialog on the Column Attributes page, the following appears in the dialog box:
\ + 5,234.10
It is expected that the symbol of 'yen' displays accurately in a Japanese environment.
Note that the backslash (\) and yen are the same character code point, but display differently depending on the selected font. A backslash (\) also displays when applying the data format on the page in the application.
This issue is tracked with Oracle bug 3384664.
If you create a form on a table or view using a wizard and the included column name contains multibyte characters, the name of the new item will contain multibyte characters.
This issue is tracked with Oracle bug 3393090.
To correct this problem, when you create new items on the Page Definition use alphanumeric characters A_Z, 0-9 and '_' for the item names. You may also need to changes item names to alphanumeric before you apply changes to the item.
If you export an application from an earlier Oracle Application Express release and then import and install it using the installation pages in Application Builder, in rare situations you may encounter runtime errors after the application installs.
These errors often manifest themselves as PL/SQL parser or execution errors pertaining to blocks of PL/SQL code embedded within application components. The installation process sometimes splits strings greater than 200 characters into multiple lines. For example, lines may split between PL/SQL keywords, or at other places that cause parsing errors.
If you encounter these types of errors and suspect the installation process has split large strings:
Isolate the failing component containing the suspect PL/SQL within the application by editing the failing page in Application Builder.
Locate the blocks of code that appear to split incorrectly.
Attempt to split the blocks of code in more appropriate places, or insert white space with the lines until no runtime errors are observed.
Export the application, import the export file, and then reinstall it.
Retain the new export file as a permanent backup copy.
Oracle Application Express release 3.1.2 does not support the Corel SVG Viewer.
By default, the ability to interact with network services is disabled in Oracle Database 11g release 1 (11.1). Therefore, if you are running Oracle Application Express with Oracle Database 11g release 1 (11.1), you need to use the new
DBMS_NETWORK_ACL_ADMIN package to grant connect privileges to any host for the
FLOWS_030100 database user. Failing to grant these privileges results in issues with:
Sending outbound mail in Oracle Application Express.
Users can call methods from the
APEX_MAIL package, but issues arise when sending outbound email.
Using Web services in Oracle Application Express.
Searching for content in online Help (that is, using the Find link).
Topics in this section include:
Tip:To run the examples described in this section, the compatible initialization parameter of the database must be set to at least 220.127.116.11.0. By default an 11g database will already have the parameter set properly, but a database upgraded to 11g from a prior version may not. See "Creating and Configuring an Oracle Database" in Oracle Database Administrator's Guide for information about changing database initialization parameters.
The following example demonstrates how to grant connect privileges to any host for the
FLOWS_030100 database user.
DECLARE ACL_PATH VARCHAR2(4000); ACL_ID RAW(16); BEGIN -- Look for the ACL currently assigned to '*' and give FLOWS_030100 -- the "connect" privilege if FLOWS_030100 does not have the privilege yet. SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; -- Before checking the privilege, make sure that the ACL is valid -- (for example, does not contain stale references to dropped users). -- If it does, the following exception will be raised: -- -- ORA-44416: Invalid ACL: Unresolved principal 'FLOWS_030100' -- ORA-06512: at "XDB.DBMS_XDBZ", line ... -- SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID FROM XDB.XDB$ACL A, PATH_VIEW P WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND EQUALS_PATH(P.RES, ACL_PATH) = 1; DBMS_XDBZ.ValidateACL(ACL_ID); IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'FLOWS_030100', 'connect') IS NULL THEN DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'FLOWS_030100', TRUE, 'connect'); END IF; EXCEPTION -- When no ACL has been assigned to '*'. WHEN NO_DATA_FOUND THEN DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml', 'ACL that lets power users to connect to everywhere', 'FLOWS_030100', TRUE, 'connect'); DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*'); END; / COMMIT;
The following example is a less privileged demonstration of how to access resources on a local host. This example would enable indexing of Oracle Application Express Online Help and could possibly enable email and PDF printing if those servers were also on the local host.
DECLARE ACL_PATH VARCHAR2(4000); ACL_ID RAW(16); BEGIN -- Look for the ACL currently assigned to 'localhost' and give FLOWS_030100 -- the "connect" privilege if FLOWS_030100 does not have the privilege yet. SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS WHERE HOST = 'localhost' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; -- Before checking the privilege, make sure that the ACL is valid -- (for example, does not contain stale references to dropped users). -- If it does, the following exception will be raised: -- -- ORA-44416: Invalid ACL: Unresolved principal 'FLOWS_030100' -- ORA-06512: at "XDB.DBMS_XDBZ", line ... -- SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID FROM XDB.XDB$ACL A, PATH_VIEW P WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND EQUALS_PATH(P.RES, ACL_PATH) = 1; DBMS_XDBZ.ValidateACL(ACL_ID); IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'FLOWS_030100', 'connect') IS NULL THEN DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'FLOWS_030100', TRUE, 'connect'); END IF; EXCEPTION -- When no ACL has been assigned to 'localhost'. WHEN NO_DATA_FOUND THEN DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('local-access-users.xml', 'ACL that lets power users to connect to everywhere', 'FLOWS_030100', TRUE, 'connect'); DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost'); END; / COMMIT;
If you receive an
ORA-44416: Invalid ACL error after running the previous script, use the following query to identify the invalid ACL:
REM Show the dangling references to dropped users in the ACL that is assigned REM to '*'. SELECT ACL, PRINCIPAL FROM DBA_NETWORK_ACLS NACL, XDS_ACE ACE WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL AND NACL.ACLID = ACE.ACLID AND NOT EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL);
Next, run the following code to fix the ACL:
DECLARE ACL_ID RAW(16); CNT NUMBER; BEGIN -- Look for the object ID of the ACL currently assigned to '*' SELECT ACLID INTO ACL_ID FROM DBA_NETWORK_ACLS WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; -- If just some users referenced in the ACL are invalid, remove just those -- users in the ACL. Otherwise, drop the ACL completely. SELECT COUNT(PRINCIPAL) INTO CNT FROM XDS_ACE WHERE ACLID = ACL_ID AND EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL); IF (CNT > 0) THEN FOR R IN (SELECT PRINCIPAL FROM XDS_ACE WHERE ACLID = ACL_ID AND NOT EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL)) LOOP UPDATE XDB.XDB$ACL SET OBJECT_VALUE = DELETEXML(OBJECT_VALUE, '/ACL/ACE[PRINCIPAL="'||R.PRINCIPAL||'"]') WHERE OBJECT_ID = ACL_ID; END LOOP; ELSE DELETE FROM XDB.XDB$ACL WHERE OBJECT_ID = ACL_ID; END IF; END; / REM commit the changes. COMMIT;
Once the ACL has been fixed, you need to run the first script in this section to apply the ACL to the
FLOWS_030100 user. See "Granting Connect Privileges to a Host".
Users may encounter unexpected results when using the new item type HTML Editor Standard and the Find functionality. When using an item of type HTML Editor Standard with a Firefox browser, the cursor must be placed at the beginning of the text for the Find feature to function properly. In certain situations, the Find functionality may incorrectly report that the text is not found.
The following restriction applies to features in Oracle Application Express that require DBA authentication (for example, the Session report on the Database Monitor page). The DBA account used for authentication must not require double-quoting. In other words, it cannot be lower or mixed case.
When migrating a Microsoft Access application and to an Oracle Application Express application, you export your Microsoft Access metadata using the Exporter tool. Note that Exporter Tool for Microsoft Access supports Microsoft Access 97, Microsoft Access 2000, Microsoft Access 2002, and Microsoft Access 2003, but does not support Microsoft Access 2007.
Interactive Reports do not work with Oracle Database release 10.1.0.3.
This issue is tracked with Oracle bug 3800614.
Our goal is to make Oracle products, services, and supporting documentation accessible, with good usability, to the disabled community. To that end, our documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Accessibility standards will continue to evolve over time, and Oracle is actively engaged with other market-leading technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For more information, visit the Oracle Accessibility Program Web site at
Accessibility of Code Examples in Documentation
Screen readers may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an otherwise empty line; however, some screen readers may not always read a line of text that consists solely of a bracket or brace.
Accessibility of Links to External Web Sites in Documentation
This documentation may contain links to Web sites of other companies or organizations that Oracle does not own or control. Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites.
TTY Access to Oracle Support Services
Oracle provides dedicated Text Telephone (TTY) access to Oracle Support Services within the United States of America 24 hours a day, 7 days a week. For TTY support, call 800.446.2398. Outside the United States, call +1.407.458.2479.
Oracle Database Application Express Release Notes, Release 3.1.2
Copyright © 2008, Oracle. All rights reserved.
The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited.
The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose.
If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United States Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the Programs, including documentation and technical data, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial Computer Software--Restricted Rights (June 1987). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of such applications if the Programs are used for such purposes, and we disclaim liability for any damages caused by such use of the Programs.
Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
The Programs may provide links to Web sites and access to content, products, and services from third parties. Oracle is not responsible for the availability of, or any content provided on, third-party Web sites. You bear all risks associated with the use of such content. If you choose to purchase any products or services from a third party, the relationship is directly between you and the third party. Oracle is not responsible for: (a) the quality of third-party products or services; or (b) fulfilling any of the terms of the agreement with the third party, including delivery of products or services and warranty obligations related to purchased products or services. Oracle is not responsible for any loss or damage of any sort that you may incur from dealing with any third party.