Oracle® COM Automation Feature Developer's Guide 10g Release 2 (10.2) Part Number B14310-02 |
|
|
View PDF |
This chapter provides an overview of the Oracle COM Automation installation and postinstallation configuration tasks.
This chapter contains these topics:
The Oracle COM Automation Feature package is included as part of the Oracle installation. It contains the features and demos that illustrate how to use this product to solve real-world problems.
The COM Automation package includes the following PL/SQL and Java components:
Oracle COM Automation demonstration programs
Message files (such as comus.msb)
Oracle COM Automation PL/SQL feature orawpcom
VER
.dll
is located in the ORACLE_BASE\ORACLE_HOME
\bin
directory.
All other components are located in the ORACLE_BASE\ORACLE_HOME
\com
directory.
The Java components for Oracle COM Automation Feature are:
The JAR file, orawcom.jar
Oracle COM Automation demonstration programs
Oracle COM Automation Java feature orawcom
VER
.dll
is located in the ORACLE_BASE\ORACLE_HOME
\bin
directory. All other components are located in the ORACLE_BASE\ORACLE_HOME
\com\java
directory.
Note the following system requirements.
Oracle COM Automation Feature requires:
Windows XP, Windows 2000, or Windows Server 2003
A functioning database on the computer before installation takes place
Any COM Automation Server: For example, the COM Automation Feature demonstrations require that you first install the applications that are used in the demonstration programs.
The Microsoft Word, Excel, and PowerPoint demos require Microsoft Office 2000 or higher.
The Messaging Application Programming Interface (MAPI) demo requires Microsoft Outlook 2000 or higher.
The demonstrations and installations are discussed in "Overview of PL/SQL Demos" and "Oracle COM Automation Feature Java Demos Overview".
For this release, the right to execute orawcom.dll
to PUBLIC
, which was granted for Oracle9i must be revoked.
Note:
In Oracle Database 10g,orawcom.dll
is renamed to orawcom
VER
.dll
where VER
is the release version.To upgrade from Oracle9i to Oracle Database 10g, do the following:
Reinstall Java classes.
Run grant.sql
.
Reinstall demos.
See Also:
"Configuring Oracle COM Automation Feature for PL/SQL" for information on rerunningcomwrap.sql
For Oracle9i, com81.dll
has been renamed to orawpcom.dll
and orawpcom.dll
has been renamed to orawpcom
VER
.dll
where VER
is the release version. Therefore, if you are migrating from Oracle8i, you must rerun comwrap.sql
to continue using Oracle COM Automation Feature for PL/SQL.
To upgrade from Oracle8i to Oracle Database 10g, do the following:
Rerun comwrap.sql
.
Reinstall demos.
See Also:
"Configuring Oracle COM Automation Feature for PL/SQL" for information on rerunningcomwrap.sql
Configuration procedures differ for PL/SQL and Java.
To configure Oracle COM Automation Feature for PL/SQL:
Start SQL*Plus.
Connect to the database as SYSTEM
.
SQL> CONNECT SYSTEM/password@net_service_name
Grant the CREATE LIBRARY
privilege to the database users who will use Oracle COM Automation Feature. For example:
SQL> GRANT CREATE LIBRARY TO hr;
Connect to the user who will use Oracle COM Automation Feature, and run the comwrap.sql
script at the SQL*Plus prompt:
SQL> CONNECT hr/hr;
SQL> @ORACLE_BASE\ORACLE_HOME\com\comwrap.sql
In the preceding command, ORACLE_BASE\ORACLE_HOME
represents the Oracle home directory where Oracle COM Automation Feature is installed.
You will receive several ORA-04043:
object
XXXX
does
not
exist
messages when you run this script for the first time. These messages are usual.
To configure Oracle COM Automation Feature for Java:
Connect to the database as SYSTEM using SQL*Plus. For example:
SQL> CONNECT SYSTEM/password@net_service_name
Run grant.sql
with the name of the user who will be using COM Automation. You may need to capitalize all the letters in the user's name. For example:
SQL> @ORACLE_BASE\ORACLE_HOME\com\java\grant.sql HR
Run loadjava
at the command prompt as follows:
loadjava -force -resolve -user hr/hr ORACLE_BASE\ORACLE_HOME\com\java\orawcom.jar
In the preceding command, hr
is the user who uses Oracle COM Automation Feature.
When using Oracle COM Automation Feature for PL/SQL, there are specific requirements for the listener.ora and tnsnames.ora files that are described in this section.
For Oracle COM Automation Feature for Java, no special modifications to these files are required.
Because Oracle COM Automation Feature for PL/SQL relies on listener callouts, you must configure the listener and Oracle Net remote procedure call (RPC) mechanism for the feature to work.
The following are examples of listener.ora and tnsnames.ora files that can be used with inter-process communication (IPC) to invoke external stored procedures.
See Also:
Oracle Net Services Administrator's Guide for additional information on configuring thelistener.ora
and tnsnames.ora
files for external procedureslistener.ora Configuration File
LISTENER = (ADDRESS_LIST = (ADDRESS= (PROTOCOL= IPC) (KEY= EXTPROC0) ) ) STARTUP_WAIT_TIME_LISTENER = 0 INBOUND_CONNECT_TIMEOUT_LISTENER = 10 TRACE_LEVEL_LISTENER = off SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = ORCL) ) (SID_DESC = (SID_NAME = plsextproc) (PROGRAM=extproc) ) ) PASSWORDS_LISTENER = (oracle)
tnsnames.ora Configuration File
EXTPROC_CONNECTION_DATA= (DESCRIPTION= (ADDRESS= (PROTOCOL=IPC) (KEY=EXTPROC0) ) (CONNECT_DATA=(SID=plsextproc)) ) )
An "ORA-28575: unable to open RPC connection to external procedure agent" error message indicates one of two possible listener problems.
Problem 1
Problem: The listener is not started.
Action: You must start the Oracle
HOME_NAMETNS
Listener
service from the Control Panel or the command prompt.
To start Oracle services from the Control Panel:
Choose Start, Settings, and then Control Panel.
The Control Panel window appears.
Double-click Services.
The Services dialog box appears.
Navigate to Oracle
HOME_NAMETNS
Listener
in the list and verify that it has a status of Started. If it does not, select it and click Start.
To start Oracle services from the command prompt:
Enter the following command to start an Oracle service at the command prompt:
C:\> net start service
In the preceding command, service is a specific service name, such as Oracle
HOME_NAMETNS
Listener
.
Problem 2
Problem: The listener is not configured correctly.
Action: You must modify the listener.ora
and tnsnames.ora
files.
See Also:
"Configuring the Listener for PL/SQL" for information on how to configure these filesOracle COM Automation feature supports the use of Distributed Component Object Model (DCOM) to access remote Component Object Model (COM) objects over a network.
To authenticate the client's access to the remote computer, DCOM passes the appropriate security credentials to the remote computer. The remote computer validates the security credentials and allows DCOM to proceed.
These security credentials are based on the domain user's privileges associated with either the client's listener service or database service. Table 2-1, "Services That Determine Security Credentials" indicates the determining service for COM Automation for PL/SQL and Java.
Table 2-1 Services That Determine Security Credentials
COM Automation Feature for... | Is Determined by This Service |
---|---|
PL/SQL | listener |
Java | Oracle database service |
To use DCOM, you must configure security settings on the following:
The computer that is running the database instance
The computer that contains the remote COM object
The configuration for the computer running the database instance requires setting the listener and the database service to the same domain user.
In this procedure for setting a service to a domain user, the service to be set is selected in Step 3.
You must follow this procedure twice, once to set the listener and once to set the database service. The order is unimportant.
To set a service to a domain user:
Choose Start, Settings, and then Control Panel. The Control Panel window appears.
Double-click Services. The Services dialog box appears.
Select the service and click Startup. The service should be either Oracle
HOME_NAMETNS
Listener
or the database service.
Select the This Account option.
Enter the name or browse for a domain user.
Enter and confirm the password of the selected domain user.
Click OK to save the changes.
Configuring the computer containing the remote object requires using the dcomcnfg.exe
tool provided by Microsoft to configure the computer's DCOM security settings.
This tool enables you to set the access permissions, launch permissions, and configuration permissions for a specific COM object or all COM objects on a computer.
Using the dcomcnfg.exe
tool, set the following:
Set the DCOM security privileges so that the appropriate service (that is, listener for PL/SQL and database service for Java), operating as a domain user, has sufficient privileges to instantiate and manipulate the remote COM object.
Set the remote COM object to execute with the same privileges as the service.
If the COM object attempts to perform an action for which it does not have permission, DCOM denies the operation and returns a security violation to Oracle COM Automation Feature. It is essential that you configure the DCOM security properly and provide the Oracle Database with the necessary permissions.
See Also:
Microsoft documentation for more information on:Using the dcomcnfg.exe
tool and the implications of the related permissions
Setting up the client and server computers to use DCOM