Вы находитесь на странице: 1из 18

Oracle Heterogeneous Services

Presented By:
Jeff DAbate
Senior Systems Architect
MRK Technologies, LTD
October 24, 2002
Privately held company, headquartered in Cleveland, OH
ProvidingTotal Enterprise Solutions
Professional Services Experience and Expertise
Technological Excellence
High-End Technology
WHO IS MRK?
Ohio Oracle Users Group October 24, 2002
Heterogeneous Services (HS) is an integrated
component within the Oracle database server and
provides the generic technology for accessing
non-Oracle systems from the Oracle database
server.
Heterogeneous Services enables you to use Oracle
SQL statements to transparently access data
stored in non-Oracle systems as if the data
resided within an Oracle database server.
Oracle Heterogeneous Services
Oracle Heterogeneous Services
P1
Ohio Oracle Users Group October 24, 2002
Oracle Heterogeneous Services
Oracle Heterogeneous Services
To access a non-Oracle system, you need to
use a Heterogeneous Services agent.
If you connect to the non-Oracle system using
generic connectivity through the ODBC or OLE
DB interfaces, the agent is an executable that
it automatically installed with the Oracle
database server.
P2
Ohio Oracle Users Group October 24, 2002
Oracle Heterogeneous Services
Oracle Heterogeneous Services
Oracle Client
H
e
t
e
r
o
g
e
n
e
o
u
s

S
e
r
v
i
c
e

A
g
e
n
t


ODBC
Driver
ODBC
Driver
MS Access DB
MS Excel
Spreadsheet
Oracle DB
Server
P3
Ohio Oracle Users Group October 24, 2002
Oracle Heterogeneous Services
Oracle Heterogeneous Services
Necessary Components:
Oracle Database (with HS component installed).
Check for the \$ORACLE_HOME\HS directory
Oracle Network and Database Listener.
ODBC driver for your data source (EXCEL, ACCESS, etc)
P4
Ohio Oracle Users Group October 24, 2002
Oracle Heterogeneous Services
Oracle Heterogeneous Services
Following components need to be configured:
ODBC driver for the data source.
Heterogeneous Services (init_odbc_data_source.ora).
Network Client (tnsnames.ora).
Database Listener (listener.ora).
Database Link.
For our example we will be querying an EXCEL spreadsheet
(budget.xls) from SQL*Plus.
P5
Ohio Oracle Users Group October 24, 2002
Oracle Heterogeneous Services
Oracle Heterogeneous Services
ODBC Data Source configuration:
P6
Ohio Oracle Users Group October 24, 2002
Oracle Heterogeneous Services
Oracle Heterogeneous Services
Oracle HS Initialization File configuration:
The init_odbc_ data_ source.ora file resides in the
$ORACLE_HOME/HS/ADMIN directory. There is also an
example file in this directory
File entries for our example (initbudget.ora):
HS_FDS_CONNECT_INFO = budget
HS_FDS_TRACE_LEVEL = 0
HS_FDS_TRACE_FILE_NAME = hsmsql.trc
P7
Ohio Oracle Users Group October 24, 2002
Oracle Heterogeneous Services
Oracle Heterogeneous Services
Oracle Client configuration (tnsnames.ora):
BUDGET =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)
(HOST=mymachine)
(PORT=1521))
(CONNECT_DATA=(SID=budget))
(HS=OK) <======== Note the HS parameter
)
)
P8
Ohio Oracle Users Group October 24, 2002
Oracle Heterogeneous Services
Oracle Heterogeneous Services
Oracle DB Listener configuration (listener.ora):
(SID_DESC=
(SID_NAME=budget)
(ORACLE_HOME = C:\oracle\ora90)
(PROGRAM=hsodbc)) <===== Note HS program called.
The database listener will now have a service listening for budget.
The SID_NAME in the listener.ora and the HS Initialization file name
must match.
SID_NAME=budget
c:\oracle\ora81\hs\admin\initbudget.ora
P9
Ohio Oracle Users Group October 24, 2002
Oracle Heterogeneous Services
Oracle Heterogeneous Services
Creation of a Database Link:
CREATE PUBLIC DATABASE LINK budget" USING budget';
P10
Ohio Oracle Users Group October 24, 2002
Oracle Heterogeneous Services
Oracle Heterogeneous Services
Budget.xls workbook to be queried:
P11
Ohio Oracle Users Group October 24, 2002
Oracle Heterogeneous Services
Oracle Heterogeneous Services
SQL> sel ect " Locat i on" , " Tot al " , " J an" , " Feb" , " Mar " , " Apr " , " May" f r omsi t es$@budget ;
Locat i on Tot al J an Feb Mar Apr May
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Denver 83, 800 0 2, 500 0 4, 129 0
Chi cago 2, 030 0 0 0 0 0
Cl evel and 50, 000 0 0 0 0 0
At l ant a 50, 000 500 52, 375 3, 974 2, 823 54, 013
Det r oi t 0 0 0 0 0 0
Col umbus 0 9, 847 9, 498 24, 081 8, 063 7, 663
Ci nci nnat i 250, 000 0 0 0 26, 958 2, 864
Dayt on 109, 297 0 0 585 260 130
Lexi ngt on 100, 000 6, 058 7, 000 17, 000 5, 000 5, 000
Or l ando 573, 000 3, 070 8, 390 34, 671 46, 264 28, 810
Er i e 4, 750 65 65 390 7, 147 3, 444
Cant on 220, 000 130 308 1, 105 1, 877 1, 300
Akr on 100, 000 500 0 1, 000 243 1, 200
13 r ows sel ect ed.
Query results from SQL*Plus.
P12
Ohio Oracle Users Group October 24, 2002
Oracle Heterogeneous Services
Oracle Heterogeneous Services
Other Misc. Notes:
Metalink Doc: 114820.1 is a good quick start guide.
You may have to comment out:
SQLNET.AUTHENTICATION_SERVICES =(NTS) in SQLNET.ORA.
This is a bug w/ Oracle 8.1.7.
select table_name from user_tables@budget;
Displays available tables (actually worksheets to be queried).
select column_name, data_type, data_length from
dba_tab_columns@budget where table_name = 'sites$
Displays available column definitions of the sites$ table.
P13
Ohio Oracle Users Group October 24, 2002
Oracle Heterogeneous Services
Oracle Heterogeneous Services
If you have any questions, please feel free to contact me.
Jeff DAbate
(216) 535-4100 x6049
jeff.dabate@mrktech.com
jeff@dabate.com
P14
Thank You

Вам также может понравиться