Is Transparent Gateway (4.1.1.1) supported in Oracle 8i
Hi We are having some RDB databases running in conjunction with Oracle 8.0.6.0.0 databases. We have installed Oracle 8.1.7.0.0 recently, and I am wondering if this 8i version is supporting Oracle Transparent Gateway ???
I ran an export in the existing DB 8.0.6, and I get this error during the import to 8.1.7.0.0:
Export file created by EXPORT:V08.00.06 via direct path
import done in US7ASCII character set and US7ASCII NCHAR character set
. importing OPS$2PC61's objects into OPS$2PC61
IMP-00017: following statement failed with ORACLE error 4052:
"ALTER PACKAGE "PKG2PCACTIVITY_LETTER_TRIGGER" COMPILE TIMESTAMP '2001-01-15"
":16:22:44'"
IMP-00003: ORACLE error 4052 encountered
ORA-04052: error occurred when looking up remote object OPS$[email protected]
ORA-00604: error occurred at recursive SQL level 1
ORA-03106: fatal two-task communication protocol error
ORA-02063: preceding line from ICICMSR
This "GTW_SQL" is a object resides on serverside of the gateway and not in the databases (8i or RDB).
I am lost at this point. Any help would be of great use, and appreciated.
Sreedhar Palepu
[email protected]
215-761-7832
null
See this thread Re: Getting LONG RAW from remote database for some useful ideas.
Regards Nigel
Similar Messages
-
Linking to SQL Server using Transparent Gateways
I want to use the Transparent Gateways to link to a SQL Server DB.
I downloaded Oracle Enterprise Server from OTN.
As far as I can tell, the Transparent Gateways are supposed to be bundled with Oracle Enterprise Server, but I can't find them from the Universal Installer.
Does anyone know how I install the Gateways? Are they included with the downloaded Oracle Enterprise Server? If not, do I need to get the Oracle Enterprise Server CD Pack?
Thanks
MikeYou did create a DUAL table in the Sqlserver database?
Sybrand Bakker
Senior Oracle DBA -
Oracle Transparent Gateway for MS SQL Server
Hello,
I successfully installed the Oracle transparent Gateway for MS SQL Server for Oracle 8i. Now I am doing the same for Oracle 9i.
Does anyone know how to 'create a new gateway service' on 9i???
This is how you would do that on 8i on the Windows box...
1) At the MS-DOS prompt, enter:
> set GTW_EXE=TG4MSQL.EXE
2) To create a new gateway service name, enter:
> GTWSRV73 sid -CREATE | MORE
-where sid is the gateway sid.
Does anyone know how to do those steps for 9i Oracle Transparent Gateway?
Thank you.Hi
I need oracle Tranparent Gateway for Microsoft Sqlserver (tg4msql) for oracle 10g on linux x86-64 bit. I have searched for it on otn.oracle.com and on edelivery.oracle.com. But couldn't find it.
Can any one help me in this regard.
Regards
Nadir. -
Are the Oracle Transparent Gateways SAP approved
Gentlemen: Thanks in advance for your reply. I am new on this gateway world and I am trying to find the best solution for us.
Situation ... DB Migration of SAP 4.5B from MSSQL to Oracle8 in Sun Solaris (No problem with this).
We run a VB application that connects to SAP using SAPComm to read from SAP and update, asl well.
Problem: We will do the migration but the developer of the application in VB may not be open to change their coding, and we found the option of replicating db tables from Oracle to MSSQL, once we migrate, with the Oracle Gateway, which produce something transparent to the VB application.
Questions:
1. Does SAP approve this kind of accesses/replications to their DBs without us affecting our license agreement with them? I should ask this question to SAP, but if you know already, that will defenitely help?
2. I understand this tool (Oracle Transparent Gateway) is available as of Oracle9i. Our migrated SAP system will be running on Oracle8, but it is my understanding it does not matter the version of Oracle we are running our db, because what we procure is the Oracle9i to be installed separately to interact with both SAP (Oracle8) and MSSQL. Is that right? Could I build that scenario? If yes, how much is for the Oracle9i license. Should acquire it through SAP (I guess not)?
Thanks,
Juan-CarlosYou can use Oracle Streams to replicate from Oracle to SQL Server. This is a feature of Oracle 9.2.
This feature uses the Oracle Transparent Gateway for SQL Server to communicate between Oracle and SQL Server.
This is licensed separately from the database. Oracle 8 can communicate with Oracle 9i using DB links.
You can purchase a license for the each of these products at http://oraclestore.oracle.com/ -
Migration from 9i to 11g Transparent Gateway results in a) ORA-12704: character set mismatch b) ORA-02070: database ... does not support SYS_OP_C2C in this context
What Transparent Gateway (TG) 11g configuration steps prevent the following errors?:
a) ORA-12704: character set mismatch
b) ORA-02070: database <DB_link_name> does not support SYS_OP_C2C in this context
Hints:
The current 9i TG works with the existing views and packages. These same db objects will not compile using the new 11g TG.
The db objects are on an Oracle 10g database linked to an SQL Server 2008 R2 database.
Since the 9i TG works I assume a configuration to the 11g TG will get it working same as before. But what...
Is is something controlled by these parameters? (Sorry, I don't know how this stuff works. I'm the application developer. My DBAs setup the Transparent Gateways.):
Parameters in the Gateway Startup Shell script:
ORA_NLS33
NLS_LANG
Parameters in the initsid.ora file:
HS_LANGUAGE
HS_NLS_DATE_FORMAT
HS_NLS_DATE_LANGUAGE
I'm avoiding the known workaround to refactor the VIEWS and PACKAGES to contain CAST() statements to explicitly match the data types. A server side fix to the 11g TG is preferred.
Sample code:
a) ORA-12704: character set mismatch
... is caused by SQL that works with my 9i TG but not with my 11g TG. It's a snippit from my view that won't compile:
select status_code -- Oracle VARCHAR2(30)
from ora_app_interfaces
UNION
select "StatusCode" as status_code -- SQL Server NVARCHAR(30)
from SqlAppInterfaces
Example workaround that I'm avoiding:
select status_code
from ora_app_interfaces
UNION
select CAST("StatusCode" as VARCHAR(30)) as status_code
from SqlAppInterfaces
b) ORA-02070: database <DB_link_name> does not support SYS_OP_C2C in this context
A line of code in the procedure that compiles correctly but fails to execute:
-- Insert into SQL Server from Oracle
insert into PatientMedRecNum (
"PatID", -- SQL Server INT
"MedRecNum", -- SQL Server NVARCHAR(11)
"Hospital") -- SQL Server NVARCHAR(30)
values (
pi_pat_id, -- Oracle NUMBER
pi_med_rec_num, -- Oracle VARCHAR2
pi_hospital); -- Oracle VARCHAR2
I'd guess the errors are caused by the TG's implicit conversion between the Oracle VARCHAR2 and the SQL Server NVARCHAR... but this works fine on the 9i TG... how do I set it up to work on the 11g TG?
Thanks!Trace of 11g TG... generating errors due to lack of automatic mapping from SQL NVARCHAR to Oracle NVARCHAR, where the previous 9g TG mapped from SQL NVARCHAR to Oracle VARCHAR2.
Oracle Corporation --- MONDAY SEP 22 2014 13:35:08.186
Heterogeneous Agent Release
11.2.0.4.0
Oracle Corporation --- MONDAY SEP 22 2014 13:35:08.186
Version 11.2.0.4.0
Entered hgogprd
HOSGIP for "HS_FDS_TRACE_LEVEL" returned "DEBUG"
Entered hgosdip
setting 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_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 "FALSE"
setting HS_FDS_SUPPORT_STATISTICS to default of "TRUE"
setting HS_FDS_QUOTE_IDENTIFIER to default of "TRUE"
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"
setting HS_CALL_NAME_ISP to "gtw$:SQLTables;gtw$:SQLColumns;gtw$:SQLPrimaryKeys;gtw$:SQLForeignKeys;gtw$:SQLProcedures;gtw$:SQLStatistics;gtw$:SQLGetInfo"
setting HS_FDS_DELAYED_OPEN to default of "TRUE"
setting HS_FDS_WORKAROUNDS to default of "0"
setting HS_FDS_ARRAY_EXEC to default of "TRUE"
Exiting hgosdip, rc=0
ORACLE_SID is "xxxDEV"
Product-Info:
Port Rls/Upd:4/0 PrdStat:0
Agent:Oracle Database Gateway for MSSQL
Facility:hsa
Class:MSSQL, ClassVsn:11.2.0.4.0_0019, Instance:xxxDEV
Exiting hgogprd, rc=0
Entered hgoinit
HOCXU_COMP_CSET=1
HOCXU_DRV_CSET=178
HOCXU_DRV_NCHAR=1000
HOCXU_DB_CSET=178
HS_LANGUAGE not specified
rc=1239980 attempting to get LANG environment variable.
HOCXU_SEM_VER=102000
Entered hgolofn at 2014/09/22-13:35:08
RC=-1 from HOSGIP for "PATH"
Setting PATH to "C:\oracle\product\11.2.0\tg_2\dg4msql\driver\lib"
Exiting hgolofn, rc=0 at 2014/09/22-13:35:08
HOSGIP for "HS_OPEN_CURSORS" returned "50"
HOSGIP for "HS_FDS_FETCH_ROWS" returned "100"
HOSGIP for "HS_LONG_PIECE_TRANSFER_SIZE" returned "65536"
HOSGIP for "HS_NLS_NUMERIC_CHARACTER" returned ".,"
HOSGIP for "HS_KEEP_REMOTE_COLUMN_SIZE" returned "OFF"
HOSGIP for "HS_FDS_DELAYED_OPEN" returned "TRUE"
HOSGIP for "HS_FDS_WORKAROUNDS" returned "0"
HOSGIP for "HS_FDS_MBCS_TO_GRAPHIC" returned "FALSE"
HOSGIP for "HS_FDS_GRAPHIC_TO_MBCS" returned "FALSE"
treat_SQLLEN_as_compiled = 1
Exiting hgoinit, rc=0 at 2014/09/22-13:35:08
Entered hgolgon at 2014/09/22-13:35:08
reco:0, name:abaccess, tflag:0
Entered hgosuec at 2014/09/22-13:35:08
uencoding=UTF16
Entered shgosuec at 2014/09/22-13:35:08
Exiting shgosuec, rc=0 at 2014/09/22-13:35:08
shgosuec() returned rc=0
Exiting hgosuec, rc=0 at 2014/09/22-13:35:08
HOSGIP for "HS_FDS_RECOVERY_ACCOUNT" returned "RECOVER"
HOSGIP for "HS_FDS_TRANSACTION_LOG" returned "HS_TRANSACTION_LOG"
HOSGIP for "HS_FDS_TIMESTAMP_MAPPING" returned "DATE"
HOSGIP for "HS_FDS_DATE_MAPPING" returned "DATE"
HOSGIP for "HS_FDS_MAP_NCHAR" returned "TRUE"
HOSGIP for "HS_FDS_RESULTSET_SUPPORT" returned "FALSE"
HOSGIP for "HS_FDS_RSET_RETURN_ROWCOUNT" returned "FALSE"
HOSGIP for "HS_FDS_PROC_IS_FUNC" returned "FALSE"
HOSGIP for "HS_FDS_REPORT_REAL_AS_DOUBLE" returned "FALSE"
HOSGIP for "HS_FDS_DEFAULT_OWNER" returned "dbo"
HOSGIP for "HS_SQL_HANDLE_STMT_REUSE" returned "FALSE"
Entered hgocont at 2014/09/22-13:35:08
HS_FDS_CONNECT_INFO = "sqlserverxxx/sqlinstancexxx/SQL_Server_2008_xxx_DEV"
RC=-1 from HOSGIP for "HS_FDS_CONNECT_STRING"
Entered hgogenconstr at 2014/09/22-13:35:08
dsn: sqlserverxxx/sqlinstancexxx/SQL_Server_2008_xxx_DEV, name:xxx_admin
optn:
Entered hgocip at 2014/09/22-13:35:08
dsn:sqlserverxxx/sqlinstancexxx/SQL_Server_2008_xxx_DEV
Exiting hgocip, rc=0 at 2014/09/22-13:35:08
Entered shgogohn at 2014/09/22-13:35:08
ohn is 'OraGtw11g_home2'
Exiting shgogohn, rc=0 at 2014/09/22-13:35:08
RC=-1 from HOSGIP for "HS_FDS_ENCRYPT_SESSION"
using 0 as default value for "HS_FDS_ENCRYPT_SESSION"
RC=-1 from HOSGIP for "HS_FDS_VALIDATE_SERVER_CERT"
using 1 as default value for "HS_FDS_VALIDATE_SERVER_CERT"
Entered hgocont_OracleCsidToIANA at 2014/09/22-13:35:08
Returning 2252
Exiting hgocont_OracleCsidToIANA at 2014/09/22-13:35:08
Exiting hgogenconstr, rc=0 at 2014/09/22-13:35:08
Entered hgopoer at 2014/09/22-13:35:08
hgopoer, line 231: got native error 5701 and sqlstate 01000; message follows...
[Oracle][ODBC SQL Server Wire Protocol driver][Microsoft SQL Server]Changed database context to 'Xxx_XXX_DEV'. {01000,NativeErr = 5701}[Oracle][ODBC SQL Server Wire Protocol driver][Microsoft SQL Server]Changed language setting to us_english. {01000,NativeErr = 5703}
Exiting hgopoer, rc=0 at 2014/09/22-13:35:08
hgocont, line 2764: calling SqlDriverConnect got sqlstate 01000
Entered hgolosf at 2014/09/22-13:35:08
Exiting hgolosf, rc=0 at 2014/09/22-13:35:08
DriverName:HGmsss23.dll, DriverVer:07.01.0093 (B0098, U0065)
DBMS Name:Microsoft SQL Server, DBMS Version:10.00.2531
Exiting hgocont, rc=0 at 2014/09/22-13:35:08 with error ptr FILE:hgocont.c LINE:2764 ID:SQLDriverConnect
SQLGetInfo returns Y for SQL_CATALOG_NAME
SQLGetInfo returns 128 for SQL_MAX_CATALOG_NAME_LEN
Exiting hgolgon, rc=0 at 2014/09/22-13:35:08
Entered hgoulcp at 2014/09/22-13:35:08
Entered hgowlst at 2014/09/22-13:35:08
Exiting hgowlst, rc=1 at 2014/09/22-13:35:08
SQLGetInfo returns Y for SQL_PROCEDURES
SQLGetInfo returns 0x1f for SQL_OWNER_USAGE
TXN Capable:2, Isolation Option:0xf
SQLGetInfo returns 128 for SQL_MAX_SCHEMA_NAME_LEN
SQLGetInfo returns 128 for SQL_MAX_TABLE_NAME_LEN
SQLGetInfo returns 134 for SQL_MAX_PROCEDURE_NAME_LEN
HOSGIP returned value of "TRUE" for HS_FDS_QUOTE_IDENTIFIER
SQLGetInfo returns " (0x22) for SQL_IDENTIFIER_QUOTE_CHAR
13 instance capabilities will be uploaded
capno:1992, context:0x0001ffff, add-info: 0
capno:3042, context:0x00000000, add-info: 0, translation:"42"
capno:3047, context:0x00000000, add-info: 0, translation:"57"
capno:3049, context:0x00000000, add-info: 0, translation:"59"
capno:3050, context:0x00000000, add-info: 0, translation:"60"
capno:3066, context:0x00000000, add-info: 0
capno:3067, context:0x00000000, add-info: 0
capno:3068, context:0x00000000, add-info: 0
capno:3069, context:0x00000000, add-info: 0
capno:3500, context:0x00000001, add-info: 91, translation:"42"
capno:3501, context:0x00000001, add-info: 93, translation:"57"
capno:3502, context:0x00000001, add-info: 107, translation:"59"
capno:3503, context:0x00000001, add-info: 110, translation:"60"
Exiting hgoulcp, rc=0 at 2014/09/22-13:35:08
Entered hgouldt at 2014/09/22-13:35:08
NO instance DD translations were uploaded
Exiting hgouldt, rc=0 at 2014/09/22-13:35:08
Entered hgobegn at 2014/09/22-13:35:08
tflag:0 , initial:1
hoi:0x12ee18, ttid (len 32) is ...
xxx
xxx
tbid (len 10) is ...
0: 09000F00 0FAC1E00 010A [..........]
Exiting hgobegn, rc=0 at 2014/09/22-13:35:08
Entered hgodtab at 2014/09/22-13:35:08
count:1
table: XXX_INTERFACE
Allocate hoada[0] @ 0000000005F58270
Entered hgopcda at 2014/09/22-13:35:08
Column:1(InterfaceID): dtype:2 (NUMERIC), prc/scl:20/0, nullbl:0, octet:0, sign:1, radix:10
Exiting hgopcda, rc=0 at 2014/09/22-13:35:08
Entered hgopcda at 2014/09/22-13:35:08
Column:2(TableName): dtype:-9 (WVARCHAR), prc/scl:30/0, nullbl:0, octet:60, sign:1, radix:0
Exiting hgopcda, rc=0 at 2014/09/22-13:35:08
Entered hgopcda at 2014/09/22-13:35:08
Column:3(TableID): dtype:4 (INTEGER), prc/scl:10/0, nullbl:0, octet:0, sign:1, radix:10
Exiting hgopcda, rc=0 at 2014/09/22-13:35:08
Entered hgopcda at 2014/09/22-13:35:08
Column:4(StatusCode): dtype:-9 (WVARCHAR), prc/scl:30/0, nullbl:0, octet:60, sign:1, radix:0
Exiting hgopcda, rc=0 at 2014/09/22-13:35:08
Entered hgopcda at 2014/09/22-13:35:08
Column:5(StatusTimestamp): dtype:93 (TIMESTAMP), prc/scl:23/3, nullbl:0, octet:0, sign:1, radix:0
Exiting hgopcda, rc=0 at 2014/09/22-13:35:08
Entered hgopcda at 2014/09/22-13:35:08
Column:6(InterfaceLog): dtype:-9 (WVARCHAR), prc/scl:400/0, nullbl:1, octet:800, sign:1, radix:0
Exiting hgopcda, rc=0 at 2014/09/22-13:35:08
The hoada for table XXX_INTERFACE follows...
hgodtab, line 1073: Printing hoada @ 0000000005F58270
MAX:6, ACTUAL:6, BRC:1, WHT=6 (TABLE_DESCRIBE)
hoadaMOD bit-values found (0x40:TREAT_AS_NCHAR,0x400:UNICODE_COLUMN)
DTY NULL-OK LEN MAXBUFLEN PR/SC CST IND MOD NAME
3 DECIMAL N 22 22 20/ 0 0 0 0 InterfaceID
12 VARCHAR N 60 60 128/ 30 1000 0 440 TableName
4 INTEGER N 4 4 0/ 0 0 0 0 TableID
12 VARCHAR N 60 60 128/ 30 1000 0 440 StatusCode
91 DATE N 16 16 0/ 0 0 0 0 StatusTimestamp
12 VARCHAR Y 800 800 129/144 1000 0 440 InterfaceLog
Exiting hgodtab, rc=0 at 2014/09/22-13:35:08
Entered hgodafr, cursor id 0 at 2014/09/22-13:35:08
Free hoada @ 0000000005F58270
Exiting hgodafr, rc=0 at 2014/09/22-13:35:08
Entered hgotcis at 2014/09/22-13:35:08
Calling SQLStatistics for XXX_INTERFACE
IndexType=SQL_TABLE_STAT: cardinality=0
IndexType=1: PK_XXX_Interface
IndexType=3: IX_TableID
IndexType=3: IX_TableName
Calling SQLColumns for dbo.SQL_app_INTERFACE
#1 Column "InterfaceID": dtype=2, colsize=20, decdig=0, char_octet_length=0, cumulative avg row len=15
#2 Column "TableName": dtype=-9, colsize=30, decdig=0, char_octet_length=60, cumulative avg row len=60
#3 Column "TableID": dtype=4, colsize=10, decdig=0, char_octet_length=0, cumulative avg row len=64
#4 Column "StatusCode": dtype=-9, colsize=30, decdig=0, char_octet_length=60, cumulative avg row len=109
#5 Column "StatusTimestamp": dtype=93, colsize=23, decdig=3, char_octet_length=0, cumulative avg row len=125
#6 Column "InterfaceLog": dtype=-9, colsize=400, decdig=0, char_octet_length=800, cumulative avg row len=725
3 Index(es) found:
Index: PK_XXX_Interface, type=1, ASCENDING, UNIQUE, cardinality=0
#1 Column 1: InterfaceID
Index: IX_TableID, type=3, ASCENDING, NON-UNIQUE, cardinality=0
#1 Column 3: TableID
Index: IX_TableName, type=3, ASCENDING, NON-UNIQUE, cardinality=0
#1 Column 2: TableName
Exiting hgotcis, rc=0 at 2014/09/22-13:35:08 -
Is transparent gateway needed to connect to IS Cache database?
Hello,
I have been asked by one of our developers how to create a connection from his Oracle 11.2 database to SQL Server and also InterSystems Cache' databases without having to use Transparent Gateway?
Is this possible, and if so, how can it be done?
(thanks in advance)Hi,
You say - "I guess it means that Oracle Database Gateway is FREE (per se)" but to make the point again - only the Database Gateway for ODBC (DG4ODBC) is free. The other gateways need a license.
If you run on Windows then many of the Microsoft ODBC drivers are free or included as part of other products so you do not need to pay for them, and also many non-Oracle database providers include an ODCB driver as part of the product, so again you do not need to pay for anything else to use DG4ODBC, for example MySQL.
To interface with a Cache database you can use Dg4ODBC but you need to provide the ODBC driver. There is not a 'dedicated' database gateway for that product. That is why we provide the DG4ODBC which can interface with any non-Oracle database or datastore for which a compatible ODBC driver is available.
This note available on My Oracle Support has information about the install notes on various platforms -
Note.1083703.1 Master Note for Oracle Gateway Products
Regards,
Mike -
Transparent gateway to Sybase: connection error
I have been trying with little success to set up a transparent gateway to a sybase server.
The gateway is an NT 4 workstation, with an oracle server 8.1.7 installed. The sybase server is an ASE 12.0 on a Solaris 8 box.
Are these versions of the products supported? In the gateway documentation only Sybase 11 is mentioned...
Moreover all the examples/schemas given refer to an installation of the gateway on the same machine as the sybase server, whereas in my case the gateway is installed on a separate machine (but it is also stated that this configuration is allowed, provided a sybase client is installed togheter with the gateway).
From what I can make of the error messages / trace files, the problem lies in the gateway not finding the sybase server. But from the sybase client installed on the gateway machine I can connect to the same remote sybase server without hassles, so the sybase client is configured correctly.
Thanks for help,
Gaetano Giunta
Here's the complete details about the situation:
Sybase client version:
Sybase ASE client, version 12.0
sybase environment variables:
SYBASE=e:\sybase
SYBASE_OCS=OCS-12_0
Sybase server:
Sybase ASE 12.0 on Solaris 8
The platform/OS on which the gateway and database reside:
Windows NT 4.0 + SP6a
Machine Name: fsiazi08
Oracle database server:
Oracle 8i enterprise edition, Version: 8.1.7
Oracle SID of the Oracle database server
SID: gate
Full pathname to directory where the Oracle database server is installed
ORACLE_HOME: e:\oracle\ora81
Versions of Net8 Server / client used by the gateway & database
Net8 Version: 8.1.7
Net8 Adapter used by the gateway: TCP/IP
Oracle Transparent Gateway for Sybase:
Version: 8.1.6
Full pathname to directory in which gateway resides:
Path: e:\oracle\ora81\tg4sybs
Listing of spool log if using SQL*Plus, or the SQL statement and error message received
SQL*Plus: Release 8.0.5.0.0 - Production on Mon Feb 18 10:27:51 2002
(c) Copyright 1998 Oracle Corporation. All rights reserved.
Connected to:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
SQL> select * from "bdvo"."arcofifo"@pollo
2 /
select * from "bdvo"."arcofifo"@pollo
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[Transparent gateway for SYBASE]ct_connect(): directory service layer: internal directory control
layer error: Requested server name not found.
ORA-02063: preceding 2 lines from POLLO
SQL>
Listings of key files:
tg4sybs_agt_pid.trc log file gathered with HS_FDS_TRACE_LEVEL=on
(0) [Transparent gateway for SYBASE] version: 2.0.4.0.0009
(0) connect string is:
(0) YEAR2000_POLICY=-1;CONSUMER_API=1;SESSION_BEHAVIOR_FLAGS=4;PARSER_DEPTH=2000;E-
(0) XEC_FLAGS = 131080;defTdpName=tg4sybs;binding=(tg4sybs,SYBASE,"sqlbdvlin1");
(0) ORACLE SYBASE GATEWAY Log File Started at 15-Feb-02 16:54:43
(0) ct_connect(): directory service layer: internal directory control layer error:
(0) Requested server name not found.
(0) Unexpected error: Get Sybase Logon: app:TG4SYBS$2, user:, pass:,
(0) service:sqlbdvlin1.TG4SYBS$2, server:sqlbdvlin1
(0) Unexpected error: , connect
(0) ct_connect(): directory service layer: internal directory control layer error:
(0) Requested server name not found.
(0)
(0) Closing log file at FRI FEB 15 16:54:44 2002.
inittg4sybs.ora
# This is a sample agent init file that contains the HS parameters that are
# needed for an SYBASE gateway Agent.
# HS init parameters
#HS_FDS_CONNECT_INFO=sqlbdvlin1.master
#HS_FDS_TRACE_LEVEL=OFF
HS_FDS_CONNECT_INFO=sqlbdvlin1.procs
HS_FDS_TRACE_LEVEL=on
# Environment variables required for the non-Oracle system
set SYBASE=e:\sybase
set SYBASE_OCS=OCS-12_0
tnsnames.ora
# TNSNAMES.ORA Network Configuration File: E:\oracle\ora81\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
GATE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = fsiazi08)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = gate)
INST1_HTTP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = fsiazi08)(PORT = 1521))
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = gate)
(PRESENTATION = http://admin)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
tg4sybs = (DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=fsiazi08)(PORT=1521))
(CONNECT_DATA=(SID=tg4sybs))
(HS=OK)
listener.ora
# LISTENER.ORA Network Configuration File: E:\oracle\ora81\network\admin\listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = fsiazi08)(PORT = 1521))
(DESCRIPTION =
(PROTOCOL_STACK =
(PRESENTATION = GIOP)
(SESSION = RAW)
(ADDRESS = (PROTOCOL = TCP)(HOST = fsiazi08)(PORT = 2481))
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\ora81)
(PROGRAM = extproc)
(SID_DESC =
(GLOBAL_DBNAME = gate)
(ORACLE_HOME = E:\oracle\ora81)
(SID_NAME = gate)
(SID_DESC=
(SID_NAME=tg4sybs)
(ORACLE_HOME=E:\oracle\ora81)
(PROGRAM=tg4sybs)
CONNECT_TIMEOUT_LISTENER = 0
Sybase interfaces file (e:\sybase\ini\sql.ini)
;; Sybase Interfaces file
;; <link_type>=<network_driver>,<connection_info>
;; Examples:
;; [JUPITER]
;; QUERY=NLMSNMP,\\JUPITER\pipe\sybase\query
;; WIN3_QUERY=WNLNMP,\\JUPITER\pipe\sybase\query
[bdvlin1]
master=TCP,10.1.1.238,4000
query=TCP,10.1.1.238,4000
Sybase net-library configuration (e:\sybase\ocs-12_0\ini\libtcl.cfg)
; This is the sample Net-Library configuration file which
; shows how to specify the different types of drivers which
; will be used by Client-Library and Server-Library
; applications.
; This is the sample for NT platforms.
[DRIVERS]
NLWNSCK=TCP Sockets
NLWNSCK=TCP/IP Sockets
;[NT_DIRECTORY]
;REGISTRY=LIBDREG ditbase=SOFTWARE\SYBASE\SERVER
;[SECURITY]
;NTLM=LIBSMSSPGaetano,
The supported products that we list in the manual is only what we have tested at print time. However we update our certification matrix regularly.
Please refer to the certification matrix on Technet.com ( http://otn.oracle.com/products/gateways/pdf/certmatrix2.pdf) for the latest certified configurations.
It looks like you have installed the gateway in the same Oracle home as the database. With v8.1.6 of the gateway this is not possible. With v9.x onwards this is possible.
You can either reinstall the gateway in another Oracle home or upgrade to v9.x.
I recommend that you upgrade to v9.x, since v8.x will be desupported shortly.
As of v9.x the Sybase gateway is located on the database CD and you can install it by doing a custom install.
Vira -
Accessing SQL Server from ORACLE using Transparent Gateway
So I had downloaded the gateway installer and was following the guide here to set up the Transparent Gateway for SQL Server: http://www.orafusion.com/art_orahs.htm
After I had created the database link, I was prompted the following error when trying to do a simple select statement from the SQL Server DB:
>
ORA-12154: TNS:could not resolve service name
12154. 00000 - "TNS:could not resolve the connect identifier specified"
*Cause: A connection to a database or other service was requested using
a connect identifier, and the connect identifier specified could not
be resolved into a connect descriptor using one of the naming methods
configured. For example, if the type of connect identifier used was a
net service name then the net service name could not be found in a
naming method repository, or the repository could not be
located or reached.
*Action:
- If you are using local naming (TNSNAMES.ORA file):
- Make sure that "TNSNAMES" is listed as one of the values of the
NAMES.DIRECTORY_PATH parameter in the Oracle Net profile
(SQLNET.ORA)
- Verify that a TNSNAMES.ORA file exists and is in the proper
directory and is accessible.
- Check that the net service name used as the connect identifier
exists in the TNSNAMES.ORA file.
- Make sure there are no syntax errors anywhere in the TNSNAMES.ORA
file. Look for unmatched parentheses or stray characters. Errors
in a TNSNAMES.ORA file may make it unusable.
- If you are using directory naming:
- Verify that "LDAP" is listed as one of the values of the
NAMES.DIRETORY_PATH parameter in the Oracle Net profile
(SQLNET.ORA).
- Verify that the LDAP directory server is up and that it is
accessible.
- Verify that the net service name or database name used as the
connect identifier is configured in the directory.
- Verify that the default context being used is correct by
specifying a fully qualified net service name or a full LDAP DN
as the connect identifier
- If you are using easy connect naming:
- Verify that "EZCONNECT" is listed as one of the values of the
NAMES.DIRETORY_PATH parameter in the Oracle Net profile
(SQLNET.ORA).
- Make sure the host, port and service name specified
are correct.
- Try enclosing the connect identifier in quote marks.
Error at Line: 3 Column: 27
>
Here are my configuration files:
initMSQL.ora
>
HS_FDS_CONNECT_INFO=webdatasvr:1433.InfoWeb
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
>
listener.ora
>
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC=
(GLOBAL_DBNAME=UGCMAC)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(SID_NAME=UGCMAC)
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
(SID_DESC =
(SID_NAME = MSQL)
(ORACLE_HOME = C:\oracle\product\11.2.0\tg_1)
(PROGRAM = dg4msql)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(ADDRESS LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1524))
>
tnsname.ora
>
UGCMAC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = UGCMAC)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
MSQL=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1524))
(CONNECT_DATA =
(SID = MSQL)
(HS=OK)
>
Can anyone assist me? thanks!Hi kgronau,
>
After changing a listener.ora file you need to STOP and START the listener to get the changes loaded. It looks like your listener is not serving the 1524 port which could be related to the fact that you didn't stop/start the listener after you've edited the listener.ora file.
... But as stated earlier - please do not use a 10.2 listener to start an 11g gateway. Instead configure the listener of the gateway home.
>
I did restart my listener under services.msc whenever I make the changes but there are no effect. Please also note that I can only find "OracleOraDb10g_home1TNSListener" under my services.msc. There is no 11.2 Listener. I did install the gateway and the installation was successful as far as I can tell. But perhaps because there's no 11.2 Listerner under my services.msc, could that mean it was a bad installation?
>
Next point is the tnsping you've used is 11.2. You need to make sure that you use the tnsping of the Oracle Database home as the database initiates the gateway connection so the database home tnsnames,ora needs the tns entry for the gateway.
>
My current PATH environment variables setting is as follow: C:\oracle\product\11.2.0\tg_1\bin;C:\oracle\product\10.2.0\db_1\bin; So perhaps, I just need to ensure the 10.2 ORACE home is the first?
>
As a final tip: There are so many web sites explaining how to configure DG4ODBC - many of them are faulty. If you need a reliable configuration, please have a look at "My Oracle Support" => How to Configure DG4ODBC (Oracle Database Gateway for ODBC) on Windows 32bit to Connect to Non-Oracle Databases Post Install [Document 466225.1] )
>
Is there a link?
Edited by: omnri on 21-Jul-2011 23:59 -
Can I join two tables from two different dbs by using transparent gateway?
E.g.:
select * from t1@rdb1, t1@rdb2
Can this work?As previously stated you options depend on your Oracle version and platform and the target version and platform for the remote non-Oracle (well in this case mySQL) database.
Oracle replaced HS or Generic Connectiivy with a new name and support module on 11g and maybe in 10g. You can see your manual CD or check the online documentation.
For that matter you need to check to see if the Transparent Gateway product has a mySQL driver.
The following Oracle support articles may be of interest.
Master Note For The Oracle ODBC Driver [ID 741033.1]
Detailed overview of connecting Oracle to MySQL using DG4ODBC database link [ID 1320645.1]
Gateway Configuration Utility for Database Gateway for ODBC - DG4ODBC - to Connect to Non-Oracle Databases For Example - DB2, SQL*Server, Sybase, Informix, MySQL [ID 1274143.1]
HTH -- Mark D Powell -- -
BLOB datatypes in Transparent Gateways
Hi,
Is the BLOB datatype supported in Transparent Gateway data conversions between Oracle 10g R2 and SQL Server?
I couldn't find any information on this in the Documentation on OTN.
Thanks, IlaHy,
you never could view blobs via sqlplus
you only could use utl_raw.cast_to_varchar2 if there ist text inside your blobs.
regard
Martin -
Any benefits of Oracle Transparent Gateway to connect to MSSQLServer ?
What are the benefits of Oracle 10G's Oracle Transparent Gateway to connect to MSSQL Server ?
Please be aware all gateways including the free component hsodbc up to release 10.2 have been desupported by 15th of Marcg 2008 and customers should use the follow up products.
The follow up product of TG4MSQL is Database gateway for MS SQl Server v11 and the follow up product of HSODBC is Database gateway for ODBC V11. The V11 gateway are certified with older Oracle database - but you might apply a gateway compatibility patch to the Oracle database release.
There are a lot of differences between DG4MSQL (TG4MSQL) and DG4ODBC (HSODBC):
- DG4MSQL supports many more functions it can directly map to SQl Server equivalents - DG4ODBC only suppors a few functions it can directly map to the equivalenst of a foreign database and all other functions are post processed. Post processing means ALL records from the remote table are fetched into the Oracle database and the result is then processed locally. Depending on the amount of data in the foreign table it might take a while
- DG4MSQL can call remote stored procedures
- DG4MSQL can participate in distributed transactions. This for example allows you to pass data changes in an Oracle table directly in the same transaction to the SQL Server side using triggers. Or you can also use STREAMS to replicate data between both databases.
... -
A question about transparent gateway,sb help me plz!!
hi all:
i met a problem while trying the transparent gateway for ibm drda
1.i have the listner.ora configured like this:
=================================================================
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = felix)(PORT = 1521))
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(PROGRAM = tg4drda)
(SID_NAME = TEST)
(ORACLE_HOME = E:\oracle\oradrda)
=================================================================
2.and the tnsnames.ora configured like this:
=================================================================
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.10.11)(PORT = 1521))
(CONNECT_DATA =
(SID = TEST)
(SERVER = DEDICATED)
(HS = ok)
(HS = OK)
=================================================================
3.and the initTEST.ora configured like this:
=================================================================
set DRDA_CONNECT_PARM=localhost:446
DRDA_REMOTE_DB_NAME=test (database name of db2)
=================================================================
then i log on as user system and create a database link dblink1.But when i try the sql statment "select * from t1@dblink1"
such error came up:
# ORA-28545: error diagnosed by Net8 when connecting to an agent
NCRO: Failed to make RSLV connection
#ORA-02063:preceding 2 lines from dblink1
somebody help me plz,tell me how to deal with such a problem,thanks a lot!!!
Best regards!Hi Felix,
Please take a look at note 234517.1 on metalink (copied below).
This note explains how to resolve the following error messages when using Transparent Gateways or Generic Connectivity:
ORA-3113; ORA-2019; ORA-2085; ORA-12154; ORA-28545; ORA-28546; ORA-28509; ORA-942; ORA-904; ORA-28500;ORA-28528
SCOPE & APPLICATION
This note should help to solve common error messages when using generic
connectivity or gateways.
Common errors with gateways or generic connectivity
Here are the English descriptions of each error; to compare your message
with the message below, you can alter your current SQL*Plus session
and compare your message with the messages listed in this note:
alter session set nls_language=american;
ORA-3113:
SQL> connect system/manager@tg4msql;
ERROR:
ORA-03113: end-of-file on communication channel
Resolution:
You can't connect with SQL*Plus directly to the foreign
data store. HS or Gateways are only designed to work with
a database link from an Oracle database to the foreign
data store
ORA-2019:
SQL> select * from all_catalog@demo;
select * from all_catalog@demo
ERROR at line 1:
ORA-02019: connection description for remote database not found
Resolution:
Create a database link to connect to the foreign database
create [public] database link <db link name>
connect to <user of the foreign datastore>
identified by <password of this user>
using '<SQL*Net ALIAS>';
For case sensitive usernames/passwords of foreign databases,
surround the user and password with double quotes.
create [public] database link <db link name>
connect to "<user of the foreign datastore>"
identified by "<password of this user>"
using '<SQL*Net ALIAS>';
ORA-2085:
SQL> select * from all_catalog@tg4msql_v91;
select * from all_catalog@tg4msql_v91
ERROR at line 1:
ORA-02085: database link TG4MSQL_V91.DE.ORACLE.COM
connects to HO.WORLD
Resolution:
This problem is related to GLOBAL NAMES.
The simplest way to disable global naming is to alter
the current session.
alter session set global_names=false;
The other solution is to add a global_name to the
gateway/hs:
HS_DB_NAME = <datasource>
HS_DB_DOMAIN = <DOMAIN>
But the HS_DB_NAME must not exceed 8 characters and
must not contain any extra characters. If this is not
possible, the globale naming can be disabled by setting
GLOBAL_NAMES = FALSE in the init.ora of the database
as well
ORA-12154:
SQL> select * from all_catalog@demo;
select * from all_catalog@demo
ERROR at line 1:
ORA-12154: TNS:could not resolve service name
Resolution:
The database link uses a SQL*Net alias not specified
in the TNSNAMES.ORA of the database server.
Query the data dictionary to figure out the 'HOST'
specified for the database link:
select db_link, host from user_db_links;
or
select db_link, host from dba_db_links;
The 'HOST' value is the alias of the SQL*Net.
Please make sure it exists in the TNSNAMES.ORA file
present at the Oracle database server.
ORA-28545:
SQL> select * from all_catalog@demo;
select * from all_catalog@demo
ERROR at line 1:
ORA-28545: error diagnosed by Net8 when connecting to an agent
NCRO: Failed to make RSLV connection
ORA-02063: preceding 2 lines from DEMO
Resolution:
There's something wrong with the SQL*Net connection:
- checking the SQL*Net -> Listener configuration with TNSPING:
tnsping <SQL*Net alias>
TNS-12545: Connect failed because target host or object
does not exist
The HOSTNAME specified in the TNSNAMES.ORA is invalid
Try with the OS ping to resolve the hostname / IP adddress
TNS-12541: TNS:no listener
The hostname specified in the listener.ora points to a
machine without an Oracle listener, the listener on that
machine is not running or the port number is wrong.
NO ERROR with TNSPING:
This might be caused by an invalid SID configuration.
Please make sure, that the SID in the listener refelects the
SID specified in the TNSNAMES.ORA. Make sure you don't mix
SID syntax with SERVICE_NAME syntax.
If everything is configured well, please make sure that
lsnrctl status shows at least one service handler for
hsodbc. Probably restart the listener AFTER changing
the listener.ora file.
Still no error found, then please enable listener tracing
(level support) and have a look at the listener.trace file
after retrying the same select statement again.
In the file you should see the connect from the Oracle
database to the listener. After a few lines you should see that
the listener tries to open 2 pipes. Does this work or does it
fail and again a few lines later you see a hex/ascii block that
conatins an error stack like:
ERR=12500, CODE=12500, EMFI=4, CODE=12560, EMFI=4?
Then please check again the listener.ora file; is the
ORACLE_HOME directory specified within the listener.ora file
correct? Or if you are using environment variables in the
listener.ora please replace them with absolute paths.
ORA-28546
CAUSE 1:
SQL> select * from all_catalog@demo;
ERROR at line 1:
ORA-28546: connection initialization failed, probable Net8 admin error
ORA-02068: following severe error from DEMO
ORA-03113: end-of-file on communication channel
Resolution:
This error might be caused by a misplaced 'HS=' or 'HS=OK' key
word in the tnsnames.ora.
Make sure HS= or HS=OK is present and that the SID Connect String
looks like:
(CONNECT_DATA =
(SID = tg4msql)) <= there are 2 closing brackets! The HS
(HS=)) <= key word is OUTSIDE of connect_data
CAUSE 2:
SQL> select * from all_catalog@test;
ora-28546: connection initialization failed, probable net8 admin error
ora-29511 lost rpc connection to heterogeneous remote agent SID ...
ora-02063 preceding 2 lines from test
Resolution:
This behaviour can be found in situations with a version missmatch.
For example the Oracle database is release 9.2.0.4 and the gateway
itself 9.2.0.1
=> The fix is to apply the same database patchset (gateway patches
are part of the database patchsets) to the gateway home as well;
or if the gateway 9.2.0.1 was installed into a 9.2.0.4 database
directory to reapply the database patchset.
ORA-28509:
Older gateways report this error instead of giving a
deltailed error description.
Resolution:
This error indicates the same as the errors described above.
They can be solved by checking the SQL*Net configuration
for the gateway / generic connectivity setup.
ORA-942:
SQL> select irgendwas from demo@demo;
select irgendwas from demo@demo
ERROR at line 1:
ORA-00942: table or view does not exist
...(the text here depends on the library/odbc...
ORA-02063: preceding 2 lines from DEMO
Resolution:
make sure the table exists in the foreign data store.
Pay attention that some foreign data stores are case
sensitive and thus the table_name must be surrounded
by double quotes.
ORA-904:
SQL> select irgendwas from "demo"@demo;
select irgendwas from demo@demo
ERROR at line 1:
ORA-00904: "IRGENDWAS": invalid identifier
Resolution:
Make sure the column name specified exists at the foreign
table and if it is case sensitive, surround it by double quotes.
ORA-28500:
CAUSE 1:
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned
this message:
[Generic Connectivity Using ODBC][H006] The init parameter
<HS_FDS_CONNECT_INFO> is not set. Please set it in init<orasid>.ora
file.
ORA-02063: preceding 2 lines from HSODBC
Resolution:
The connect information to the remote database or the ODBC DSN is not
found. Add the proper connect string required by the gateway or hs/
generic connectivity agent.
CAUSE 2:
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
ORA-28541: Error in HS init file on line 11.
ORA-02063: preceding 2 lines from HSODBC
Resolution:
The init.ora of the gateway / generic connectivity contains an
invalid parameter in line 11
CAUSE 3:
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[Generic Connectivity Using ODBC]DRV_InitTdp: errors.h (2005): ;
[Microsoft][ODBC SQL Server Driver][SQL Server]Error authenticating user
'sa'. (SQL State: 00000; SQL Code: 18456)
ORA-02063: preceding 2 lines from HSODBC
Resolution:
The username password for the database link is wrong or no connect
information was specified.
Make sure that for case sensitive usernames/passwords the create
database link statement contains the double quotes for the
username/passwords.
Further make sure you specified a username and password. OS
Authentication is currently not supported by most of the
gateways of by generic connectivity.
CAUSE 4:
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned
this message:
[Generic Connectivity Using ODBC]DRV_InitTdp: errors.h (2005): ;
[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]SQL Server does
not exist or access denied.[Microsoft][ODBC SQL Server Driver]
[TCP/IP Sockets]ConnectionOpen (Connect()).
(SQL State: 00000; SQL Code: 10061)
ORA-02063: preceding 2 lines from HSODBC
Resolution:
Make sure the foreign database is up and running on the configured
machine.
ORA-28528:
SQL> select * from DecimalType@hsodbc;
ERROR:
ORA-28528: Heterogeneous Services datatype
conversion error
Resolution:
The language of the foreign data store (remote database)
does not match with your Oracle database settings.
Starting with 9.2.0.l4 this error might occure for example '
if numeric values will be truncated.
Adapt in the Gateway/Generic Connectivity initialisation file
the parameter HS_LANGUAGE.
HS_LANGUAGE must be set to the LANGUAGE used in the FOREIGN
database.
as a play with 2 settings and check out which one works:
1. Try:
HS_LANGUAGE=AMERICAN_AMERICA.WE8ISO8859P1
Do you still get the error? Yes, proceed with the second try:
2. Try:
HS_LANGUAGE=GERMAN_GERMANY.WE8ISO8859P1
(or to any other territory that uses a komma as decimal separator)
ORA-24274:
SQL> select * from all_catalog@<db_link>;
select * from all_catalog@<db_link>
ERROR at line 1:
ORA-28522: error initializing heterogeneous capabilities
ORA-28522: error initializing heterogeneous capabilities
ORA-28559: FDS_CLASS_NAME is <GTW>9.2.0.5.0_128, FDS_INST_NAME is <link>
ORA-02063: preceding 3 lines from %s
ORA-00604: error occurred at recursive SQL level 1
ORA-24274: no row exists in the HS$_BASE_CAPS table for these parameters
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_HS_UTL", line 431
ORA-06512: at "SYS.DBMS_HS_CHK", line 51
ORA-06512: at "SYS.DBMS_HS_UTL", line 48
ORA-06512: at "SYS.DBMS_HS", line 38
ORA-06512: at line 1
Resolution:
This special combination of errors might occure after applying
the Oracle database and gateway patchset 9.2.0.5 WITHOUT
running catpatch (=the upgrade script of the database).
=> Please run catpatch. If it ran successfully but connectivity
still fails you may run
cathnohs.sql and caths.sql to recreate the HS data
dictionary tables. BUT BE CAREFUL: Running CATHNOHS drops ALL
gateway/generic connectivity related database links!
Hope this helps,
Mark. -
Nvarchar fields using Transparent Gateway for MS SQL
We are using TG to make a number of tables/views available in an Oracle database. The tables in question contain a number of nvarchar fields which are expected to contain Unicode data. These fields cause a number of problems when accessed in Oracle. Firstly, queries returning any nvarchar(x) (for some x) fields hang when they are run in Oracle and it is necessary to reset the connection before running another query! Fields with type nvarchar(max) do come through, however they come through as type LONG, which is very difficult to do anything useful with in Oracle and cannot be searched on.
We are working around the problem by creating views in MS SQL on top of our original tables/views which cast nvarchar(x) to varchar(x). We are then able to query these new views in Oracle, search on text fields etc. However, MS SQL does not properly support UTF-8 in varchar fields and the conversion results in downgrading our data to the latin-1 character set. Note casting nvarchar(x) to nvarchar(max) in MS SQL does not work, the queries still hang. We also have a problem where the length of the nvarchar field in MS SQL is longer than the max supported varchar2 length in Oracle. In this case TG will again provide a LONG converted field.
We would like to know how to get full Unicode data to come across Transparent Gateway. We would be happy to get our data in the Oracle nvarchar2 type, or varchar2 with utf8 would also be fine, ideally with clob/nclob for over-length fields. Alternatively any solution which allows us to access full Unicode data would probably be acceptable. We only need to query the data from inside one ETL package, which will store the transformed data in Oracle, so a solution which involves a cast at this stage would also be acceptable, although obviously having the data show up correctly directly through TG would be better.Heya,
Here is an example table in SQL Server:
CREATE TABLE [dbo].[tblPnLCostNames](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](2048) NOT NULL,
[Group] [nvarchar](50) NULL,
[nvarchar](50) NULL,
[Description] [nvarchar](1024) NULL,
CONSTRAINT [PK_tblPnLCostNames] PRIMARY KEY CLUSTERED
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
And in Oracle I did this:
CREATE TABLE "FOR_DW_DEV01"."UNICODE_COST_TEST"
( "ID_" NUMBER,
"NAME_" LONG,
"GROUP_" VARCHAR2(50 CHAR),
"CODE_" VARCHAR2(50 CHAR),
"DESCRIPTION_" VARCHAR2(1024 CHAR)
Now I want to be able to say:
insert into unicode_cost_test ( id_, name_, group_, code_, description )
select "ID", to_lob( "Name" ), "Group", "Code", "Description" from tblPnlCostNames@my_link;
The other fields are shorter and will go straight in to varchar2 fields as UTF-8 with no problems following some tweaks to the gateway ini file. Anything over 2000 characters comes across as a LONG, but trying to use the to_lob function results in "ORA-00997: illegal use of LONG datatype". Doing the same thing using a local table with a LONG field as the source works fine. Is to_lob supposed to work on LONG fields that come across the gateway?
I found this in the 11.2.0.2.2 bugfix list:
10157402 - lob segment has null data after long to lob conversion in parallel mode
(ftp://ftp.hj.se/Oracle/Patchar/11.2.0.2/psu_april_2011/download.htm#BABDIEDD)
Could this be related?
The only way I have found to read the LONG fields so far that works is to use select into, and read each value individually! -
SQL Server 2005 (64-bit) - 10.1/10.2 via Transparent Gateway
From what I gather, there is no 64-bit Transparent Gateway for SQL Server. Has anyone used the 32-bit gateway with a 64-bit SQL Server instance? Will this even work?
Also, what are the ramifications for the Oracle instances -- will this setup work with both 32-bit & 64-bit 10.1/10.2 instances?
Thanks!
-charles.Can you provide some context as to whay you think this will not work? The gateway is just a client to the 64 bit SQL Server. I'm sure that 64 bit server supports access from clients that are running 32 bit operating systems.
-
How to know Transparent gateway version
dear all,
Facts:
WIN 2008 AND MSSQL SERVER 2008
AIX 5.3 AND ORACLE 10.1
how i know the version of Oracle Transparent Gateway from :
- Oracle MS SQL Server 2008
- Oracle 10.1
how can i view that ???
thanks a lot !!!Sorry, but it is not really clear what yo mean with:
how i know the version of Oracle Transparent Gateway from :
- Oracle MS SQL Server 2008
- Oracle 10.1
You can check the vesion of an installed gateway using Oracle Universal Installer which can list which products are installed or you can use opatch lsinventory -detail.
You can also check the listener - it contains PROGRAM=<executble> and now type the name of the executable on the command line. It will now report which gateway and which version you've installed.
If you're interested in which gateway can be used - then the only supported release is 11g which is certified with Oracle 10.1.0.5 + an additional gateway compatibility patch.
Maybe you are looking for
-
Error while reading UcdContext [trying to read / set application values for users]
Hi, I am trying to write a program to store user selected values on NW7.3 Portal using "User Content Directory". I can see and read some code snippets on how to set and read the context but I am getting one error after another. The error message I am
-
Blank white screen when minimized or closed
Lately, whenever I have iTunes minimized or closed, I now have a blank white screen the same size as the iTunes window. I can move this "window" but it covers other items. When I show the iTunes window again, it appears exactly where this white windo
-
Upgraded iMac to 10.8.5 but no longer detects any WiFi networks!
I have a 2009 27" iMac and a 24" 2007 iMac with 2 Airport Extreme routers (2013 The latest. Everything was working perfectly till I upgraded to 10.8.5. I lost my internet and both routers. Could not use the Internet and Wi-Fi on my iPhone 5. Reverted
-
I have been using Firefox on my Desktop PC with Windows XP for a long time. However, today possibly due to some virus (I attached an infected flash drive to my PC) a suspicious change in homepage (www.delta-homes.com) of my firefox occurred. Simultan
-
Is my Iphone 4 bricked after updating to IOS 5
Well ive updated my iphone 4 to ios 5 and everything was ok untill a couple of days later. I restarted my phone and was getting the solid apple logo and that was it. After pressing home and on/off buttons it went off. Now i dont get nothing at all, N