Oracle to SQL Server Access

16
ACCESS SQL SERVER OBJECTS FROM ORACLE

Transcript of Oracle to SQL Server Access

Page 1: Oracle to SQL Server Access

ACCESS SQL SERVER OBJECTS FROM ORACLE

Page 2: Oracle to SQL Server Access
Page 3: Oracle to SQL Server Access
Page 4: Oracle to SQL Server Access
Page 5: Oracle to SQL Server Access

DG4ODBC Setup

Download Oracle Database Gateways 11gRelease 2 (11.2.0.1.0) for MS Windows (32-bit)

Go on the OTN website:http://www.oracle.com/technology/software/products/database/index.html

in the following Topic:Oracle Database 11g Release 2 Standard Edition, Standard Edition One, and Enterprise Edition

select the platform you want and click on 'See All' button

Then download this product:Oracle Database Gateways 11g Release 2 (11.2.0.1.0) for Microsoft Windows (32-bit) 

win32_11gR2_client.zip (684,581,290 bytes)

Page 6: Oracle to SQL Server Access
Page 7: Oracle to SQL Server Access
Page 8: Oracle to SQL Server Access
Page 9: Oracle to SQL Server Access
Page 10: Oracle to SQL Server Access
Page 11: Oracle to SQL Server Access
Page 12: Oracle to SQL Server Access

Configuration Setup On Gateway Home (Ex : G:\product\11.2.0\tg_1)Note : Oracle Gateway Home should be different from Oracle DB Home

- Navigate to <Gateway Home>\Network\Admin and make an entryIn the listener.ora file

########################################################### listener.ora Network Configuration File: G:\product\11.2.0\tg_1\NETWORK\ADMIN\listener.ora# Generated by Oracle configuration tools.

SID_LIST_LISTENERTAGSQLCONN = (SID_LIST= (SID_DESC= (SID_NAME=tagsqlconn) (ORACLE_HOME= G:\product\11.2.0\tg_1) (PROGRAM=DG4ODBC) ) )

LISTENERTAGSQLCONN = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = IG02WB81)(PORT = 50001)) ) )

ADR_BASE_LISTENERTAGSQLCONN = G:\product\11.2.0\tg_1##########################################################

- Navigate to <Gateway Home>\hs\admin and take copy of initdg4odbc.oraand rename new file to init<odbc DSN Name>.ora

- Use trace file at the following path to find logs generated <Gateway Home>\hs\trace

- Open init<odbc DSN Name>.ora and edit as below :##########################################################HS_FDS_CONNECT_INFO = <odbc data_source_name>HS_FDS_TRACE_LEVEL = debug/OFF

Following values are left to their defaultssetting HS_OPEN_CURSORS to default of 50 setting HS_FDS_RECOVERY_ACCOUNT to default of "RECOVER" setting HS_FDS_RECOVERY_PWD to default value setting HS_FDS_TRANSACTION_LOG to default of HS_TRANSACTION_LOG setting HS_IDLE_TIMEOUT to default of 0 setting HS_FDS_TRANSACTION_ISOLATION to default of "READ_COMMITTED" setting HS_NLS_NCHAR to default of "UCS2" setting HS_FDS_TIMESTAMP_MAPPING to default of "DATE" setting HS_FDS_DATE_MAPPING to default of "DATE" setting HS_RPC_FETCH_REBLOCKING to default of "ON" setting HS_FDS_FETCH_ROWS to default of "100" setting HS_FDS_RESULTSET_SUPPORT to default of "FALSE" setting HS_FDS_RSET_RETURN_ROWCOUNT to default of "FALSE" setting HS_FDS_PROC_IS_FUNC to default of "FALSE" setting HS_FDS_CHARACTER_SEMANTICS to default of "FALSE" setting HS_FDS_MAP_NCHAR to default of "TRUE" setting HS_NLS_DATE_FORMAT to default of "YYYY-MM-DD HH24:MI:SS" setting HS_FDS_REPORT_REAL_AS_DOUBLE to default of "FALSE" setting HS_LONG_PIECE_TRANSFER_SIZE to default of "65536" setting HS_SQL_HANDLE_STMT_REUSE to default of "FALSE" setting HS_FDS_QUERY_DRIVER to default of "TRUE" setting HS_FDS_SUPPORT_STATISTICS to default of "FALSE" Parameter HS_FDS_QUOTE_IDENTIFIER is not set setting HS_KEEP_REMOTE_COLUMN_SIZE to default of "OFF" setting HS_FDS_GRAPHIC_TO_MBCS to default of "FALSE" setting HS_FDS_MBCS_TO_GRAPHIC to default of "FALSE"

Default value of 32 assumed for HS_FDS_SQLLEN_INTERPRETATION##########################################################

Page 13: Oracle to SQL Server Access

Configuration Set up on DB Home

- Edit tnsnames.ora file with a new entry##########################################################

TAGSQLCONN = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.120.29.81)(PORT = 50001)) (CONNECT_DATA=(SID=tagsqlconn)) (HS=OK) )

##########################################################

- Edit Listener.ora file with a new entry##########################################################

SID_LIST_LISTENERTAGSQLCONN = (SID_LIST= (SID_DESC= (SID_NAME=tagsqlconn) (ORACLE_HOME= G:\product\11.2.0\tg_1) (PROGRAM=DG4ODBC) ) )

LISTENERTAGSQLCONN = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = IG02WB81)(PORT = 50001)) ) )

ADR_BASE_LISTENERTAGSQLCONN = G:\product\11.2.0\tg_1##########################################################

- Restart the Listener using lsnrctl utility##########################################################C:\> set oracle_sid=G:\product\11.2.0\tg_1 -- path of 11gR2 GatewayC:\> lsnrctl start listenertagsqlconn

- Check the services after successful running of lsnrctl with nameOracle<Oracle Home>TNSListener<listener Name>

Ex : OracleOraGtw11gTNSListenerlistenertagsqlconn

Page 14: Oracle to SQL Server Access

Set up on SQL Server objects to access from Oracle

Accessing SQL Server Objects from Oracle- Connect as Oracle User and create dblink

C:\> set oracle_sid=tnbmpdvSQL> sqlplus gis/****SQL> drop public database link tagsqlconn;

create database link tagsqlconn connect to "<SQL Server User>" identified by "*********" using 'SYSTEM DSN';

- Querying SQL Server Tables/ViewsSQL> select count(*) from <SQL Server Object owner>.”Object Name”@<dblink name> Ex : select count(*) from dbo.” vwRevExpPivotFROMvwMain”@tagsqlconn;

- Executing SQL Server ProceduresDECLAREc INTEGER;BEGINc:=DBMS_HS_PASSTHROUGH.EXECUTE_IMMEDIATE@tagsqlconn('execute R_CountyYearMapData');END;/