2.9 Data Sources

Oracle Reports enables you to access any data source. See Section 4.15.2, "Accessing non-Oracle data sources".

The topics in this section discuss information related to accessing other data sources in Oracle Reports Builder.

See also

The Pluggable Data Sources section of the Oracle Reports online Help, including the topics:

  • About pluggable data sources

  • Adding a pluggable data source

  • Connecting to a pluggable data source

  • Adding online Help to a pluggable data source

  • Pluggable data source interface definition

  • Troubleshooting PDS problems

2.9.1 About database roles

Database roles provide a way for end users to run reports that query tables to which they do not have access privileges. For example, a report may query a table that includes sensitive information such as salary data, even though the final report does not display this data.

Database roles are checked in the runtime environment only. If a table requires special access privileges, end users without those privileges cannot run a report that retrieves data from that table. However, if a database role is defined for the report, end users with privileges for that role can run the report using Reports Runtime (rwrun).


To run a report for which a database role is defined, the end user must run the .rdf file, not the .rep file. When running multiple reports, Reports Runtime automatically switches to the role defined for the current report.

If you try to open a report in Oracle Reports Builder for which a database role has been defined, you will be prompted for the role password. Typically, only the report designer and DBA have this information.

See also

Section 4.16.1, "Setting a database role"

2.9.2 About Oracle Net Services

Oracle Net Services is Oracle's remote data access software that enables both client-server and server-server communications across any network. It supports distributed processing and distributed database capability. Oracle Net Services runs over and interconnects many communication protocols. Oracle Net Services is backwardly compatible with Net8 and SQL*Net.

2.9.3 About user exits

In releases prior to Oracle Reports 10g, user exits provided a way to pass control from Oracle Reports Builder to a program you have written, which performs some function, and then returns control to Oracle Reports Builder. You could write ORACLE Precompiler user exits, ORACLE Call Interface (OCI) user exits, or non-ORACLE user exits to perform tasks such as complex data manipulation, passing data to Oracle Reports Builder from operating system text files, manipulating LONG RAW data, supporting PL/SQL blocks, or controlling real time devices, such as a printer or a robot.

Beginning with Oracle Reports 10g, you can call Java methods using the ORA_JAVA built-in package and the Java Importer. This reduces the need to have user exits in a report and allows for a more open and portable deployment. You may also use the ORA_FFI built-in package, which provides a foreign function interface for invoking C functions in a dynamic library. With the availability of these new built-in packages, the use of user exits is deprecated in Oracle Reports, though makefiles will still be supplied to permit you to continue to work with existing user exits.

2.9.4 About the Oracle Call Interface (OCI)

In releases prior to Oracle Reports 10g, the Oracle Call Interface (OCI) provided a set of standard procedures that you could call in your 3GL programs to call Oracle Reports components. These procedures (written in C) were shipped with the Oracle Reports Builder, Reports Runtime, and Reports Converter components. For example, to run a Oracle Reports Builder report from a Pro*FORTRAN program, you could add a RWCRRB procedure call to your program to run the report using the Reports Runtime component.

Beginning with Oracle Reports 10g, the OCI is obsolete. Instead, use the rwclient.exe command line interface or the JSP tag library.