Oracle ODBC Gateway SELECT from Sybase fails on large column
OS: CentOS 5.8 64-bit
DB: Oracle XE 11gR1 64-bit
Gateway: Oracle Gateway for ODBC 64-bit
Database and gateway reside on same Linux Server.
Connecting to remote Sybase SQL Anywhere 10 server on WindowsXP.
Using SQL Anywhere 11 odbc driver and unixODBC driver manager on Linux server.
isql tool connects without any problems.
One LISTENER, service for db and gateway on same port.
===================================
Via SQL*Plus, the following error occurs....
SQL> select * from mytable@dblink;
select * from mytable@dblink
ORA-02070: database dblink does not support outer joins in this context
Gateway does not like the 'large' column which is varchar(3270) in length. Also it is the only
column in the table that is a varchar.
Take that column out and SELECT works fine.
Here is the initdblink.ora file:
# This is a sample agent init file that contains the HS parameters that are
# needed for the Database Gateway for ODBC
# HS init parameters
HS_FDS_CONNECT_INFO=dblink
HS_FDS_SHAREABLE_NAME=/usr/lib64/libodbc.so
HS_FDS_TRACE_LEVEL=255
HS_LANGUAGE=american_america.we8iso8859p1
HS_NLS_NCHAR=UTF-8
# ODBC specific environment variables
set ODBCINI=/etc/odbc.ini
Please advise....
Edited by: user601798 on Oct 17, 2012 7:09 AM
Edited by: user601798 on Oct 17, 2012 7:09 AM
Edited by: user601798 on Oct 17, 2012 7:13 AM
Here is the trace file:
Oracle Corporation --- THURSDAY OCT 18 2012 14:55:34.259
Heterogeneous Agent Release
11.2.0.1.0
Oracle Corporation --- THURSDAY OCT 18 2012 14:55:34.259
Version 11.2.0.1.0
Entered hgogprd
HOSGIP for "HS_FDS_TRACE_LEVEL" returned "255"
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_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
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"
Exiting hgosdip, rc=0
ORACLE_SID is "dblink"
Product-Info:
Port Rls/Upd:1/0 PrdStat:0
Agent:Oracle Database Gateway for ODBC
Facility:hsa
Class:ODBC, ClassVsn:11.2.0.1.0_0008, Instance:dblink
Exiting hgogprd, rc=0
hostmstr: 2056122368: HOA After hoagprd
hostmstr: 2056122368: HOA Before hoainit
Entered hgoinit
HOCXU_COMP_CSET=1
HOCXU_DRV_CSET=31
HOCXU_DRV_NCHAR=1000
HOCXU_DB_CSET=873
HOCXU_SEM_VER=110000
Entered hgolofn at 2012/10/18-14:55:39
Exiting hgolofn, rc=0 at 2012/10/18-14:55:39
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"
Invalid value of 32 given for HS_FDS_SQLLEN_INTERPRETATION
treat_SQLLEN_as_compiled = 1
Exiting hgoinit, rc=0 at 2012/10/18-14:55:40
hostmstr: 2056122368: HOA After hoainit
hostmstr: 2056122368: HOA Before hoalgon
Entered hgolgon at 2012/10/18-14:55:40
reco:0, name:dba, tflag:0
Entered hgosuec at 2012/10/18-14:55:41
Exiting hgosuec, rc=0 at 2012/10/18-14:55:41
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_CHARACTER_SEMANTICS" returned "FALSE"
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"
using dba as default value for "HS_FDS_DEFAULT_OWNER"
HOSGIP for "HS_SQL_HANDLE_STMT_REUSE" returned "FALSE"
Entered hgocont at 2012/10/18-14:55:42
HS_FDS_CONNECT_INFO = "dblink"
RC=-1 from HOSGIP for "HS_FDS_CONNECT_STRING"
Entered hgogenconstr at 2012/10/18-14:55:43
dsn:dblink, name:dba
optn:
Entered hgocip at 2012/10/18-14:55:43
dsn:dblink
Exiting hgocip, rc=0 at 2012/10/18-14:55:43
##>Connect Parameters (len=25)<##
## DSN=dblink;
#! UID=dba;
#! PWD=*
Exiting hgogenconstr, rc=0 at 2012/10/18-14:55:44
Entered hgolosf at 2012/10/18-14:55:44
ODBC Function-Available-Array 0xFFFE 0x01FF 0xFF00 0xFFFF 0x03FF 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0xFE00 0x3F5F
Exiting hgolosf, rc=0 at 2012/10/18-14:55:46
DriverName:DBODBC10.DLL, DriverVer:10.00.0001
DBMS Name:SQL Anywhere, DBMS Version:10.00.0001
Exiting hgocont, rc=0 at 2012/10/18-14:55:47
SQLGetInfo returns N for SQL_CATALOG_NAME
Exiting hgolgon, rc=0 at 2012/10/18-14:55:48
hostmstr: 2027339776: HOA After hoalgon
RPC Calling nscontrol(0), rc=0
hostmstr: 2027339776: RPC Before Upload Caps
hostmstr: 2027339776: HOA Before hoaulcp
Entered hgoulcp at 2012/10/18-14:55:48
Entered hgowlst at 2012/10/18-14:55:48
Exiting hgowlst, rc=0 at 2012/10/18-14:55:49
SQLGetInfo returns 0x1f for SQL_OWNER_USAGE
TXN Capable:3, Isolation Option:0xf
SQLGetInfo returns 128 for SQL_MAX_SCHEMA_NAME_LEN
SQLGetInfo returns 128 for SQL_MAX_TABLE_NAME_LEN
SQLGetInfo returns 128 for SQL_MAX_PROCEDURE_NAME_LEN
SQLGetInfo returns " (0x22) for SQL_IDENTIFIER_QUOTE_CHAR
SQLGetInfo returns Y for SQL_COLUMN_ALIAS
3 instance capabilities will be uploaded
capno:1989, context:0x00000000, add-info: 0
capno:1991, context:0x0001ffff, add-info: 0
capno:1992, context:0x0001ffff, add-info: 0
Exiting hgoulcp, rc=0 at 2012/10/18-14:56:05
hostmstr: 2026291200: HOA After hoaulcp
hostmstr: 2026291200: RPC After Upload Caps
hostmstr: 2026291200: RPC Before Upload DDTR
hostmstr: 2026291200: HOA Before hoauldt
Entered hgouldt at 2012/10/18-14:56:06
NO instance DD translations were uploaded
Exiting hgouldt, rc=0 at 2012/10/18-14:56:06
hostmstr: 2026291200: HOA After hoauldt
hostmstr: 2026291200: RPC After Upload DDTR
hostmstr: 2026291200: RPC Before Begin Trans
hostmstr: 2026291200: HOA Before hoabegn
Entered hgobegn at 2012/10/18-14:56:06
tflag:0 , initial:1
hoi:0x12f094, ttid (len 27) is ...
00: 44415441 5748442E 65623465 33343931 [DATAWHD.eb4e3491]
10: 2E322E36 322E3839 363837 [.2.62.89687]
tbid (len 24) is ...
00: 44415441 5748445B 322E3632 2E383936 [DATAWHD[2.62.896]
10: 38375D5B 312E345D [87][1.4]]
Exiting hgobegn, rc=0 at 2012/10/18-14:56:08
hostmstr: 2026291200: HOA After hoabegn
hostmstr: 2026291200: RPC After Begin Trans
hostmstr: 2026291200: RPC Before Describe Table
hostmstr: 2026291200: HOA Before hoadtab
Entered hgodtab at 2012/10/18-14:56:08
count:1
table: RSCCC.SR_SPEC_PGM_SPEC_ED
Allocate hoada[0] @ 025B799C
Entered hgopcda at 2012/10/18-14:56:12
Column:1(SCH_YR): dtype:12 (VARCHAR), prc/scl:4/0, nullbl:0, octet:4, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:13
Entered hgopcda at 2012/10/18-14:56:13
Column:2(CAMPUS_ID): dtype:12 (VARCHAR), prc/scl:3/0, nullbl:0, octet:3, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:13
Entered hgopcda at 2012/10/18-14:56:14
Column:3(STU_ID): dtype:12 (VARCHAR), prc/scl:6/0, nullbl:0, octet:6, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:14
Entered hgopcda at 2012/10/18-14:56:14
Column:4(DT_ENTRY_STU): dtype:12 (VARCHAR), prc/scl:8/0, nullbl:0, octet:8, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:14
Entered hgopcda at 2012/10/18-14:56:15
Column:5(PRI_HANDI_IND): dtype:12 (VARCHAR), prc/scl:2/0, nullbl:0, octet:2, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:15
Entered hgopcda at 2012/10/18-14:56:15
Column:6(INSTRUCT_SET_CD): dtype:12 (VARCHAR), prc/scl:2/0, nullbl:0, octet:2, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:16
Entered hgopcda at 2012/10/18-14:56:16
Column:7(SPEECH_THRPY_IND): dtype:12 (VARCHAR), prc/scl:1/0, nullbl:0, octet:1, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:16
Entered hgopcda at 2012/10/18-14:56:17
Column:8(DT_WD): dtype:12 (VARCHAR), prc/scl:8/0, nullbl:0, octet:8, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:17
Entered hgopcda at 2012/10/18-14:56:17
Column:9(DT_ENTRY_STU_RECIP): dtype:12 (VARCHAR), prc/scl:8/0, nullbl:0, octet:8, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:18
Entered hgopcda at 2012/10/18-14:56:18
Column:10(WD_RSN_CD): dtype:12 (VARCHAR), prc/scl:2/0, nullbl:0, octet:2, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:18
Entered hgopcda at 2012/10/18-14:56:19
Column:11(VOC_HRS_ELIG): dtype:12 (VARCHAR), prc/scl:1/0, nullbl:0, octet:1, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:19
Entered hgopcda at 2012/10/18-14:56:19
Column:12(REG_DAY_SCH_PGM_DEAF): dtype:12 (VARCHAR), prc/scl:1/0, nullbl:0, octet:1, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:19
The hoada for table RSCCC.SR_SPEC_PGM_SPEC_ED follows...
hgodtab, line 904: Printing hoada @ 025B799C
MAX:12, ACTUAL:12, BRC:1, WHT=6 (TABLE_DESCRIBE)
hoadaMOD bit-values found (0x200:TREAT_AS_CHAR)
DTY NULL-OK LEN MAXBUFLEN PR/SC CST IND MOD NAME
12 VARCHAR N 4 4 0/ 0 0 0 200 SCH_YR
12 VARCHAR N 3 3 0/ 0 0 0 200 CAMPUS_ID
12 VARCHAR N 6 6 0/ 0 0 0 200 STU_ID
12 VARCHAR N 8 8 0/ 0 0 0 200 DT_ENTRY_STU
12 VARCHAR N 2 2 0/ 0 0 0 200 PRI_HANDI_IND
12 VARCHAR N 2 2 0/ 0 0 0 200 INSTRUCT_SET_CD
12 VARCHAR N 1 1 0/ 0 0 0 200 SPEECH_THRPY_IND
12 VARCHAR N 8 8 0/ 0 0 0 200 DT_WD
12 VARCHAR N 8 8 0/ 0 0 0 200 DT_ENTRY_STU_RECIP
12 VARCHAR N 2 2 0/ 0 0 0 200 WD_RSN_CD
12 VARCHAR N 1 1 0/ 0 0 0 200 VOC_HRS_ELIG
12 VARCHAR N 1 1 0/ 0 0 0 200 REG_DAY_SCH_PGM_DEAF
Exiting hgodtab, rc=0 at 2012/10/18-14:56:22
hostmstr: 2026291200: HOA After hoadtab
hostmstr: 2026291200: HOA Before hoadafr
Entered hgodafr, cursor id 0 at 2012/10/18-14:56:23
Free hoada @ 025B799C
Exiting hgodafr, rc=0 at 2012/10/18-14:56:23
hostmstr: 2026291200: HOA After hoadafr
hostmstr: 2026291200: RPC After Describe Table
hostmstr: 2026291200: RPC Before Describe Table
hostmstr: 2026291200: HOA Before hoadtab
Entered hgodtab at 2012/10/18-14:56:23
count:1
table: RSCCC.SR_DISCPLN
Allocate hoada[0] @ 025B799C
Entered hgopcda at 2012/10/18-14:56:27
Column:1(SCH_YR): dtype:12 (VARCHAR), prc/scl:4/0, nullbl:0, octet:4, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:28
Entered hgopcda at 2012/10/18-14:56:28
Column:2(STU_ID): dtype:12 (VARCHAR), prc/scl:6/0, nullbl:0, octet:6, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:28
Entered hgopcda at 2012/10/18-14:56:29
Column:3(OFENS_STAMP): dtype:12 (VARCHAR), prc/scl:27/0, nullbl:0, octet:27, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:29
Entered hgopcda at 2012/10/18-14:56:29
Column:4(OFENS_TIME): dtype:12 (VARCHAR), prc/scl:8/0, nullbl:0, octet:8, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:29
Entered hgopcda at 2012/10/18-14:56:30
Column:5(CAMPUS_ID): dtype:12 (VARCHAR), prc/scl:3/0, nullbl:0, octet:3, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:30
Entered hgopcda at 2012/10/18-14:56:30
Column:6(DT_OFENS): dtype:12 (VARCHAR), prc/scl:8/0, nullbl:0, octet:8, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:30
Entered hgopcda at 2012/10/18-14:56:31
Column:7(MODIFIER): dtype:12 (VARCHAR), prc/scl:10/0, nullbl:0, octet:10, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:31
Entered hgopcda at 2012/10/18-14:56:31
Column:8(OFENS_SEMCYC): dtype:12 (VARCHAR), prc/scl:2/0, nullbl:0, octet:2, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:32
Entered hgopcda at 2012/10/18-14:56:32
Column:9(REP_BY): dtype:12 (VARCHAR), prc/scl:3/0, nullbl:0, octet:3, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:32
Entered hgopcda at 2012/10/18-14:56:33
Column:10(REP_BY_NAME_F): dtype:12 (VARCHAR), prc/scl:17/0, nullbl:0, octet:17, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:33
Entered hgopcda at 2012/10/18-14:56:33
Column:11(REP_BY_NAME_L): dtype:12 (VARCHAR), prc/scl:25/0, nullbl:0, octet:25, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:33
Entered hgopcda at 2012/10/18-14:56:34
Column:12(INC_LOC): dtype:12 (VARCHAR), prc/scl:3/0, nullbl:0, octet:3, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:34
Entered hgopcda at 2012/10/18-14:56:35
Column:13(COURSE): dtype:12 (VARCHAR), prc/scl:4/0, nullbl:0, octet:4, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:35
Entered hgopcda at 2012/10/18-14:56:35
Column:14(SECTION): dtype:12 (VARCHAR), prc/scl:2/0, nullbl:0, octet:2, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:35
Entered hgopcda at 2012/10/18-14:56:36
Column:15(CRS_TITLE): dtype:12 (VARCHAR), prc/scl:15/0, nullbl:0, octet:15, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:36
Entered hgopcda at 2012/10/18-14:56:36
Column:16(PERIOD): dtype:12 (VARCHAR), prc/scl:2/0, nullbl:0, octet:2, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:36
Entered hgopcda at 2012/10/18-14:56:37
Column:17(INSTR): dtype:12 (VARCHAR), prc/scl:3/0, nullbl:0, octet:3, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:37
Entered hgopcda at 2012/10/18-14:56:37
Column:18(PARENT_CONTACT): dtype:12 (VARCHAR), prc/scl:1/0, nullbl:0, octet:1, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:37
Entered hgopcda at 2012/10/18-14:56:38
Column:19(CONTACT_DT): dtype:12 (VARCHAR), prc/scl:8/0, nullbl:0, octet:8, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:38
Entered hgopcda at 2012/10/18-14:56:38
Column:20(CONF_REQUESTED): dtype:12 (VARCHAR), prc/scl:1/0, nullbl:0, octet:1, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:38
Entered hgopcda at 2012/10/18-14:56:39
Column:21(CONF_DATE): dtype:12 (VARCHAR), prc/scl:8/0, nullbl:0, octet:8, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:39
Entered hgopcda at 2012/10/18-14:56:39
Column:22(INFORMAL_HEARING): dtype:12 (VARCHAR), prc/scl:1/0, nullbl:0, octet:1, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:39
Entered hgopcda at 2012/10/18-14:56:40
Column:23(APPEAL_EXP): dtype:12 (VARCHAR), prc/scl:1/0, nullbl:0, octet:1, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:40
Entered hgopcda at 2012/10/18-14:56:40
Column:24(WITNESS): dtype:12 (VARCHAR), prc/scl:1/0, nullbl:0, octet:1, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:41
Entered hgopcda at 2012/10/18-14:56:41
Column:25(DISCPLN_COMM): dtype:12 (VARCHAR), prc/scl:3270/0, nullbl:0, octet:3270, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:41
Entered hgopcda at 2012/10/18-14:56:42
Column:26(ADMIN_BY): dtype:12 (VARCHAR), prc/scl:3/0, nullbl:0, octet:3, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:42
Entered hgopcda at 2012/10/18-14:56:42
Column:27(ADMIN_BY_NAME_F): dtype:12 (VARCHAR), prc/scl:17/0, nullbl:0, octet:17, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:42
Entered hgopcda at 2012/10/18-14:56:43
Column:28(ADMIN_BY_NAME_L): dtype:12 (VARCHAR), prc/scl:25/0, nullbl:0, octet:25, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:43
Entered hgopcda at 2012/10/18-14:56:43
Column:29(REPORTED_BY_DESC): dtype:12 (VARCHAR), prc/scl:60/0, nullbl:0, octet:60, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:43
Entered hgopcda at 2012/10/18-14:56:44
Column:30(INCIDENT_NUM): dtype:12 (VARCHAR), prc/scl:6/0, nullbl:0, octet:6, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:44
Entered hgopcda at 2012/10/18-14:56:44
Column:31(REPORT_PD): dtype:12 (VARCHAR), prc/scl:1/0, nullbl:0, octet:1, sign:1, radix:0
Exiting hgopcda, rc=0 at 2012/10/18-14:56:45
The hoada for table RSCCC.SR_DISCPLN follows...
hgodtab, line 904: Printing hoada @ 025B799C
MAX:31, ACTUAL:31, BRC:1, WHT=6 (TABLE_DESCRIBE)
hoadaMOD bit-values found (0x200:TREAT_AS_CHAR)
DTY NULL-OK LEN MAXBUFLEN PR/SC CST IND MOD NAME
12 VARCHAR N 4 4 0/ 0 0 0 200 SCH_YR
12 VARCHAR N 6 6 0/ 0 0 0 200 STU_ID
12 VARCHAR N 27 27 0/ 0 0 0 200 OFENS_STAMP
12 VARCHAR N 8 8 0/ 0 0 0 200 OFENS_TIME
12 VARCHAR N 3 3 0/ 0 0 0 200 CAMPUS_ID
12 VARCHAR N 8 8 0/ 0 0 0 200 DT_OFENS
12 VARCHAR N 10 10 0/ 0 0 0 200 MODIFIER
12 VARCHAR N 2 2 0/ 0 0 0 200 OFENS_SEMCYC
12 VARCHAR N 3 3 0/ 0 0 0 200 REP_BY
12 VARCHAR N 17 17 0/ 0 0 0 200 REP_BY_NAME_F
12 VARCHAR N 25 25 0/ 0 0 0 200 REP_BY_NAME_L
12 VARCHAR N 3 3 0/ 0 0 0 200 INC_LOC
12 VARCHAR N 4 4 0/ 0 0 0 200 COURSE
12 VARCHAR N 2 2 0/ 0 0 0 200 SECTION
12 VARCHAR N 15 15 0/ 0 0 0 200 CRS_TITLE
12 VARCHAR N 2 2 0/ 0 0 0 200 PERIOD
12 VARCHAR N 3 3 0/ 0 0 0 200 INSTR
12 VARCHAR N 1 1 0/ 0 0 0 200 PARENT_CONTACT
12 VARCHAR N 8 8 0/ 0 0 0 200 CONTACT_DT
12 VARCHAR N 1 1 0/ 0 0 0 200 CONF_REQUESTED
12 VARCHAR N 8 8 0/ 0 0 0 200 CONF_DATE
12 VARCHAR N 1 1 0/ 0 0 0 200 INFORMAL_HEARING
12 VARCHAR N 1 1 0/ 0 0 0 200 APPEAL_EXP
12 VARCHAR N 1 1 0/ 0 0 0 200 WITNESS
12 VARCHAR N 3270 3270 0/ 0 0 0 200 DISCPLN_COMM
12 VARCHAR N 3 3 0/ 0 0 0 200 ADMIN_BY
12 VARCHAR N 17 17 0/ 0 0 0 200 ADMIN_BY_NAME_F
12 VARCHAR N 25 25 0/ 0 0 0 200 ADMIN_BY_NAME_L
12 VARCHAR N 60 60 0/ 0 0 0 200 REPORTED_BY_DESC
12 VARCHAR N 6 6 0/ 0 0 0 200 INCIDENT_NUM
12 VARCHAR N 1 1 0/ 0 0 0 200 REPORT_PD
Exiting hgodtab, rc=0 at 2012/10/18-14:56:50
hostmstr: 2026291200: HOA After hoadtab
hostmstr: 2026291200: HOA Before hoadafr
Entered hgodafr, cursor id 0 at 2012/10/18-14:56:50
Free hoada @ 025B799C
Exiting hgodafr, rc=0 at 2012/10/18-14:56:50
hostmstr: 2026291200: HOA After hoadafr
hostmstr: 2026291200: RPC After Describe Table
hostmstr: 2026291200: RPC Before Rollback Trans
hostmstr: 2026291200: HOA Before hoaroll
Entered hgoroll at 2012/10/18-14:56:51
tflag:1 , cmt(0):
hoi:0x12f098, ttid (len 27) is ...
00: 44415441 5748442E 65623465 33343931 [DATAWHD.eb4e3491]
10: 2E322E36 322E3839 363837 [.2.62.89687]
tbid (len 24) is ...
00: 44415441 5748445B 322E3632 2E383936 [DATAWHD[2.62.896]
10: 38375D5B 312E345D [87][1.4]]
Entered hgocpctx at 2012/10/18-14:56:52
Exiting hgocpctx, rc=0 at 2012/10/18-14:56:52
Exiting hgoroll, rc=0 at 2012/10/18-14:56:52
hostmstr: 2026291200: HOA After hoaroll
hostmstr: 2026291200: RPC After Rollback Trans
Please advise and thanks..
Similar Messages
-
Using Oracle ODBC Gateway connecting to a remote Oracle database
Oracle 11gR2
RHEL 6.4
Has anyone use the Oracle ODBC Gateway to connect to another Oracle database? Any issues with that configuration? Where do I get the ODBC drivers for Linux?
(I know, "why not use a dblink?" -- well that would be against company security policies)Hi,
From the Oracle point of view we support using DG4ODBC for Oracle to Oracle connections. However, we have not actually tested it as DG4ODBC is primarily designed for access to non-Oracle databases.
How DG4ODBC will work between Oracle databases depends on the ODBC driver and what that supports. You will need an ODBC Oracle driver which you can get from various suppliers including Oracle but also vendors such as DataDirect, Easysoft etc. You could try a Google search.
You say you do not want to use database links but that is how DG4ODBC is used, You cannot do -
sqlplus user/password@dg4odbc_oracle
Once Dg4ODBC is setup and configured as in this note - if you are using Linux 64-bit -
How to Configure DG4ODBC on 64bit Unix OS (Linux, Solaris, AIX, HP-UX Itanium) to Connect to Non-Oracle Databases Post Install (Doc ID 561033.1)
then in the Oracle database you create a database link and select from tables in the other Oracle database -
select * from table@dg4odbc_db_link ;
Regards,
Mike -
Oracle ODBC Gateway log file location
Oracle ODBC 11g
Linux RHEL 6.4
Oracle DB 11gR2
=============
is there a default log file for the Oracle ODBC Gateway (dg4odbc) process? if so, where would that be? if no default log file exists, can/how is one created?DG4ODBC puts its log file to $ORACLE_HOME/hs/log - but tracing needs to be enabled first by setting HS_FDS_TRACE_LEVEL to ON, DEBUG or 255.
- Klaus -
Updating Oracle table with info from Sybase query
I hope this is the correct forum for this question.
I am fairly new to Java and JDBC. I am trying to figure out what the best method for updating information in Oracle tables with data from a Sybase table. I would prefer to use Oracle’s transparent gateway but this is not an option my company will pay for so I am creating a java stored procedure and using JDBC to connect to the Sybase database.
The process I think I need to go thru is
1. Query an Oracle table to get the records that need to be updated and the “key” information to query the Sybase table with.
2. Use that result to query the Sybase database to get the fields that need to be updated in the Oracle table for those records.
3. Update the records on the Oracle table with the data from the Sybase query.
I know I can just do this procedurally, row-by-row, but I was wondering if anyone knows of a way to accomplish this with SQL and no loops. Is there a way to make a result set available as a “SQL table” for another JDBC query?
Basically what I would like to do is:
OraQuery = “ select sybinfo from sometable where updated_date = null”;
Statement orastmt1 = OraConn.createStatement();
ResultSet Orars1 = orastmt1.executeQuery (OraQuery);
SybQuery = “select update_date, sybinfo from sybtable where sybinfo = Orars1.sybinfo”;
Statement sybstmt = SybConn.createStatement();
ResultSet Sybrs = sybstmt1.executeQuery (SybQuery);
OraUpdate = “update (select update_date from sometable, Sybrs where sometable.sybinfo = Sybrs.sybinfo) set update_date = Sybrs.update_date”;
Statement orastmt2 = OraConn.createStatement();
ResultSet Orars2 = orastmt2.executeQuery (OraUpdate);
This may not be possible but if anyone has done something similar and wouldn’t mind sharing I would appreciate it. If there is a “better” way of accomplishing this I am open to suggestions.
Thanksyou can try using cachedRowSet() for the Oracle side query.
The rows in this could be populated using the sybase side query's resultset and then all of this could updated into Oracle in one shot. -
Oracle External Table SELECT FROM problem from workstation
At Solaris Oracle database server console.
Created directory on the Solaris server as Oracle owner.
As SYS created oracle directory object on that Solaris directory
Granted read/write to SCHEMA_OWNER on that oracle directory object.
Using OS Oracle user, moved a tab-delimited flat file into the Solaris directory.
Logged on a SCHEMA_OWNER using SQLPLUS on the Solaris database server.
Ran external table script in SQLPLUS.
External table was created.
Ran Select * from ext_table.
Appropriate dataset returned.
So at the Oracle Solaris server console,
the create external table script worked without errors,
and a select from statement on the external table worked without errors.
Move to developer workstation:
Logged on as SCHEMA_OWNER using SQLPLUS on Windows workstation.
TNSNAMES of course points to the Solaris database server.
Ran the external table script in SQLPLUS.
External table was created.
Ran Select * from ext_table.
This failed with these errors:
ORA29913 error executing ODCIEXTTABLEOPEN callout
ORA29400 data cartridge error
cant open logfile.log
OS permission denied
ORA06512 sys.oracle_loader line 19
So how can I select from external tables from a windows workstation?
Any guidance on this problem would be appreciated.Thank you for your response.
I am not creating the external table on the workstation.
In both cases,
from the Solaris console
and from the Windows workstation
the external table is being created on the Solaris file system
in an Oracle Directory object
running an SQL script from SQLPLUS prompt.
The external table creator, schema owner, has read and write permissions
granted by SYS on the oracle directory object.
The problem is:
Logged in as the schema owner,
you can select * from ext_table from the Solaris console SQLPLUS,
but you can not select * from ext_table from the Windows workstation SQLPLUS.
You can DROP TABLE ext_table from the Windows workstation SQLPLUS.
You just cannot select * from ext_table from the Windows workstation SQLPLUS.
I guess as a test,
I can drop from the ext_table creation script the references
to discardfile, badfile, and logfile,
and remove this other file objects from the equation...
which appears to be a file permissions problem. -
Select from table without specifying the column list.
I want to reference the columns in select list without specifing the column name of a table.
For example i am having a table called emp(id number,name varchar2(30)).
I want to write a query which will display the name of the employees.
But i don't want to specify the column name in the select list.
Can anybody help me in this regard.
Thanks in advance.I want to write a query which will display the name
of the employees.
But i don't want to specify the column name in the
select list.So what do you want to specify in the select list?
One way to display the names of the employees without specifying that you want the names of the employees would be
select * from emp -
Inserting multiple selection from checkbox in to one column of the database
Hi,
how to insert multiple selection from checkbox into one column of the database.(I select array of values from checkbox ,then how to insert tat array of values iinto single column name).
Anyone can u reply me
Thanxhhhmmm.... is this what you mean?
lets say you hava a checkbox1 with values value1, value2, value3 and you selected all there of them? then you want then to be stored in the database in one column?
now the question is:
Is it going to be one column one row?
datafield
value1,value2,value3
Or one column multiple row?
datafield
value1
value2
value3
Which is it? -
INSERT into Oracle table as SELECT from MS Access table
I'm trying to pull some data across from an MS Access database. I really need to pick and choose what is coming across, so migration isn't what I need. I can connect to the Access DB from SQL Developer, export data and so forth. However, I can't seem to find a way to directly access data in the MDB file from an Oracle connection. The two options that I can think of which would be perfect (if they are possible) are:
1. If it's possible to SELECT between two open connections in SQL Developer. I can (and have) had both my Oracle conection where I want the data to go and the source Access connection opened simultaneously, but I can't see any way to address a query from one connection to another.
2. If it's possible to create the equivalent of a database link to the Access MDB file from within my Oracle database so that I can address the query via that.
Right now I'm exporting individual tables from Access to files, then doing a bunch of Search and Replace operations to convert them to SQL scripts with INSERT statements in the format required, then running those scripts in my Oracle connection. It works, but is very slow and tedious.You need to create a database link based on Database Gateway for ODBC. This gateway allows you to connect from an Oracle database to a foreign data store using a 3rd party ODBC driver.
A suitable 3rd party ODBC driver which allows you to connect from Oracle to MS Access is the ODBC driver from Microsoft available on Windows platforms - I'm not aware of any 3rd party ODBC driver for MS Access available on Unix platforms.
So when using DG4ODBC on Windows you can connect from your Oracle database (even when the database resides on Unix) to DG4ODBC on Windows which then connects to the Ms Access database using the MS Access ODBC driver.
There's a separate Forum for those configs:
Heterogeneous Connectivity -
Oracle ODBC as user works but fails as 'SYS'
Windows 7
Oracle XE 11gR2
From Windows, I can successfully create and connect with a system data source using an user Oracle account.
But when doing then same configuration process I can not create or connect using the 'SYS' account.
Understandably, I get the error 'ORA-2009: connection as SYS should be as SYSDBA or SYSOPER'.
What is the solution to creating an ODBC DSN for the user 'SYS'?
ThanksI am writing an automated installation script that requres DBA access in order to create user accounts (schemas), tablespaces, etc. I need to log into Oracle as 'SYS' and the application uses ODBC to connect to the database.
-
Select from table in group of columns and generate a sequence number
I have to select data from a table in group of columns and generate a sequence for every group resetting the sequence to start from 1 onwards.
For example:
Data:
Col1 Col2 Col3 Col4
A NA KA 2009-08-13
B NA KA 2009-08-13
C NA KA 2009-08-13
A NA KA 2009-08-13
B NA KA 2009-08-13
A NA KA 2009-08-13
Expected output from Select Statement:
Col1 Col2 Col3 Col4 Seq_No
A NA KA 2009-08-13 1
A NA KA 2009-08-13 2
A NA KA 2009-08-13 3
B NA KA 2009-08-13 1
B NA KA 2009-08-13 2
C NA KA 2009-08-13 1
How can this be possible with a SELECT statement? Is it possible to assign seq numbers for a group of columns and reset it when it changes? In the above example, all columns form the key to generate the seq number
I know it can be done using Stored procedures and that is how I am doing it now by introducing a temporary table.
Can anyone help me in this regard? Please let me know if the question is vague to understand!
Thanks,
Nachiwith t as(select 'A' col1,'NA' col2 ,'KA' col3,'2009-08-13' col4 from dual
union all
select 'B' col1,'NA' col2 ,'KA' col3,'2009-08-13' col4 from dual
union all
select 'C' col1,'NA' col2 ,'KA' col3,'2009-08-13' col4 from dual
union all
select 'A' col1,'NA' col2 ,'KA' col3,'2009-08-13' col4 from dual
union all
select 'B' col1,'NA' col2 ,'KA' col3,'2009-08-13' col4 from dual
union all
select 'A' col1,'NA' col2 ,'KA' col3,'2009-08-13' col4 from dual)
select t.*,row_number() over (partition by col1,col2,col3,col4 order by col1,col2,col3,col4) from tYou can replace partition by col1,col2,col3,col4 with only columns that you need for grouping condition
and also order by you can just do on the column you need. -
Produce a range of numbers with select from the gaps of ID column
(1)
Suppose I have a table t which has rows like this:
A B
2 4
6 7
I would like to use select to produce rows with numbers ranging between A column and B column inclusive
for each row, like this:
select ... from t ...
2
3
4
6
7
(2)
Suppose I have ID column which has gaps, I would like to get lowest <N> available numbers between the gaps.
I did research, and I can find the range of the gaps, but I cannot have the numbers listed individually, that is why
I ask question (1). But is there a direct way to get the list instead of going through ranges and the list.
For example, I have ID column which has
2
5
6
7
9
2000000
I would like to get a select query that produces
select ...
3
4
8
10
11
I have a way to get a list from 2 to 2000000 and then minus what we have to get all the
gap numbers, but that is not efficient and could runs out of memory.
PS: Before I post to this group, I did research already on "connect by", with recursive queries.First of all, I would like to thank jeneesh and Frank for helpful and correct reply. However, due to the a bug of this forum,
when I mark jeneesh's reply as correct, I cannot mark Frank's reply as correct anymore. Therefore I would like to formally
state here that I have tested both solutions and they are both correct. jeneesh and Frank use different approach, connect by
and less join ( <=, I do not know what is the proper name for it ).
Secondly I would like to report my small findings: use connect by, you control the level from 1 to the max number, so you
do not need to use order by, and the performance is better (0.37 seconds version 0.92 seconds). And also it performs better
if I use an intermediate view to limit the result sets. One line of code is worth one thousand words, now I am posting two
versions of the code and highlighted the points I mentioned here.
I am sorry that either I do not know how to format the code or I do not have the capability when posting on this forum.
The code listing does not look good, but I hope you get the idea. I have "plain text" and I am not if I can use fixed width font
and preserve space. After I used the spelling checker, it becomes double spaced and I have to manually delete the blank lines.
/* I learned about { code } after the post and edited the original post */
Thanks again to both jeneesh and Frank.
"connect by" version:
SQL> VARIABLE new_id_cnt NUMBER
SQL> EXEC :new_id_cnt := 10;
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.00
SQL> WITH my_table AS
2 (
3 SELECT num
4 FROM prs_elm
5 WHERE 1=1
6 )
7 , my_num AS
8 (
9 SELECT num, ct
10 FROM (
11 SELECT num AS num, LEAD(num) OVER (ORDER BY num) - num - 1 AS ct
12 FROM ( SELECT 0 AS num
13 FROM DUAL
14 UNION ALL
15 SELECT num
16 FROM my_table
17 UNION ALL
18 SELECT ( MAX(num) + :new_id_cnt + 1 ) AS num
19 FROM my_table
20 )
21 )
22 WHERE ct >= 1
23 AND ROWNUM <= :new_id_cnt
24 )
25 SELECT num + level AS available_id
26 FROM my_num
27 WHERE ROWNUM <= :new_id_cnt
28 CONNECT BY level <= ct
29 AND prior num = num
30 AND prior sys_guid() is not null
31 ;
AVAILABLE_ID
3219
3261
3264
3269
3270
3275
3281
3288
3289
3290
10 rows selected.
Elapsed: 00:00:00.37"Less join" version:
SQL> VARIABLE new_id_cnt NUMBER
SQL> EXEC :new_id_cnt := 10;
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.00
SQL> WITH my_table AS
2 (
3 SELECT num
4 FROM prs_elm
5 WHERE 1=1
6 )
7 , my_num AS
8 (
9 SELECT num AS num, LEAD(num) OVER (ORDER BY num) - num - 1 AS ct
10 FROM ( SELECT 0 AS num
11 FROM DUAL
12 UNION ALL
13 SELECT num
14 FROM my_table
15 UNION ALL
16 SELECT ( MAX(num) + :new_id_cnt + 1 ) AS num
17 FROM my_table
18 )
19 )
20 , my_cnt AS
21 (
22 SELECT LEVEL AS ct
23 FROM DUAL
24 CONNECT BY LEVEL <= :new_id_cnt
25 )
26 SELECT available_id
27 FROM
28 (
29 SELECT n.num + c.ct AS available_id
30 FROM my_num n
31 JOIN my_cnt c ON c.ct <= n.ct
32 WHERE n.ct >= 1
33 ORDER BY available_id
34 )
35 WHERE ROWNUM <= :new_id_cnt
36 ;
AVAILABLE_ID
3219
3261
3264
3269
3270
3275
3281
3288
3289
3290
10 rows selected.
Elapsed: 00:00:00.92PS: In Frank's code, there is a typo, <= should read as <.
Edited by: PuraVidaOTN on 04-feb-2013 22:49
What: To use tags to format the code.
Edited by: PuraVidaOTN on 04-feb-2013 22:56 -
Selecting from DB Null capable Text column
Forte Users,
We have a case where a table is made up of multiple char and varchar data type
columns and
one text type column. The text type column is null capable and some of the
char/varchar
columns are also null capable. The database we are using is Microsoft SQL.
The problem is
trying to get data back from the text type column. We are attempting to use
Forte's ability
to select multiple rows into an object whose class has as attributes the same
name and
types as the columns from the table. For the text type column we have tried
TextNullable,
BinaryNullable and string. In each case, from a sample data set where the text
type column
always has data present in the DB, the resulting attribute for that column is
empty/blank. By
empty/blank we mean that there is no data and the ActualLength attribute is
zero. The Forte data
object is not null (except for the string), but there is no data. All other
attributes come back with
the expected data.
Any help would be greatly appreciated.
Thank you
RASomething like this?
DECLARE @phoneNumbers TABLE (id INT, phoneText VARCHAR(300))
INSERT INTO @phoneNumbers (id, phoneText)
VALUES
(1, 'Contact:Cell number is 123-456-7890
Contact: Emergency number is 222-333-1111
contact: Home number is 111-222-3333
Contact: Current work number is 444-555-6666'),
(2, 'Contact:Cell number is 098-765-4321
Contact: Emergency number is 333-444-5555
contact: Home number is 444-555-6666
Contact: Current work number is 777-888-9999')
;WITH phoneSeq AS (
SELECT id, 1 AS seq, LEFT(phoneText,CHARINDEX(CHAR(13),phoneText)-1) AS thisPhoneText, RIGHT(phoneText,LEN(phoneText)-CHARINDEX(CHAR(13),phoneText)) AS nextPhoneText
FROM @phoneNumbers
UNION ALL
SELECT id, seq + 1 AS seq, LEFT(nextPhoneText,CHARINDEX(CHAR(13),nextPhoneText)) AS thisPhoneText, RIGHT(nextPhoneText,LEN(nextPhoneText)-CHARINDEX(CHAR(13),nextPhoneText)) AS nextPhoneText
FROM phoneSeq
WHERE thisPhoneText <> ''
SELECT id, seq, RIGHT(RTRIM(REPLACE(REPLACE(COALESCE(NULLIF(thisPhoneText,''),nextPhoneText),CHAR(13),''),CHAR(12),'')),12) AS phoneNumber, COALESCE(NULLIF(thisPhoneText,''),nextPhoneText) AS phoneText
FROM phoneSeq
ORDER BY id, seq -
NET8 timeout with ODBC Gateway
Local:
Database: Oracle XE 11gR2
Oracle ODBC Gateway 11g
Windows 7
Sybase SQL Anyhwere 12 client
Remote:
Database: Sybase SQL Anywhere 10
Windows Server 2008 R2
====================
SQL:
select * from mytable@dblink:
Error returned:
ERROR at line 1:
ORA-28545: error diagnosed by Net8 when connecting to an agent
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: preceding 2 lines from dblink
Files:
initdlink.ora
# This is a sample agent init file that contains the HS parameters that are
# needed for the Database Gateway for ODBC
# HS init parameters
HS_FDS_CONNECT_INFO = dblink
#HS_FDS_TRACE_LEVEL = 255
HS_LANGUAGE=american_america.we8iso8859p1
HS_NLS_NCHAR=UTF-8
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
(SID_DESC =
(SID_NAME = XE)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(SID_DESC =
(SID_NAME = dblink)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\gtw)
(PROGRAM = dg4odbc)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
DEFAULT_SERVICE_LISTENER = (XE)
tnsnames.ora
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
dblink =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = localhost)
(PORT = 1521)
(CONNECT_DATA =
(SID = dblink))
(HS=OK))
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
==========================
(1) Similar setup works ok on Linux connecting to remote Sybase on Windows. But get error below when running on Windows 7.
(2) Similar setup from Windows7 to Windows 2008 R2 works fine when ODBC Gateway on remote Windows 2008 server.
(3) ODBC connectivity has been verified as ok to remote Sybase database on Windows 2008 server.
(4) tnsping dblink verified ok.
Problems started when moving ODBC Gateway to local system where Oracle target database resides.
Please advise.
Added to initdblink.ora the following (no change in results):
HS_KEEP_REMOTE_COLUMN_SIZE = ALL
HS_NLS_LENGTH_SEMANTICS = CHAR
Edited by: user601798 on Dec 4, 2012 11:59 AMYou're mixing different OH's in your listener. The gateway is located in C:\oraclexe\app\oracle\product\11.2.0\gtw, but the database and the listener in: C:\oraclexe\app\oracle\product\11.2.0\server
When you're using DG4ODBC you can use the gateway which is automatically installed in the database home -> you'll find there as well a HS directory and the dg4odbc executable. The other option is to use separate listeners for both installations. For example using the Oracle database listener on port 1521 for the database connections and 1522 for the gateway.
If you really want to use one listener (which is not the preferred solution), then you need also to specify the location to the executable, similar to:
<space>(SID_DESC =
<space><space>(SID_NAME = dblink)
<space><space>(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\gtw)
<space><space>(PROGRAM = C:\oraclexe\app\oracle\product\11.2.0\gtw\dg4odbc)
<space>)
After changing the listener.ora file, please STOP and STAT the listener using lsnrctl utility and provide its output. Also provide the output of tnsping dblink.
- Klaus -
Oracle ODBC Driver adds bind variable when browsing whole table in Access
Hi, we are looking for some reasons why we may see this behavior in the Oracle ODBC driver (10gR2 and 11g) when using Microsoft Access (2003 or 2007)...
1) Link a table from the Oracle database.
2) Double-click the newly linked table to "browse" it.
Oracle sends the following statement to the server:
{color:#0000ff}select * from linked_table where primary_key = :b1{color}
It then proceeds to read the entire table.
If I tell Microsoft Access that there is no primary key, the query gets sent as:
{color:#0000ff}select * from linked_table{color}
And the query comes back as soon as the first 100 or so rows are fetched which is quite quickly.
ADDITIONAL NOTES:
1) If the table has a primary key or unique constraint, Microsoft Access automatically assigns that as the primary key.
2) We can stop the behavior in #1 if we wrap a view around it which prevents Access from discovering that information and then it prompts for a primary key definition.
3) If we use the Microsoft ODBC driver, the bind variable is not added no matter what the primary key defintiion is.
We're stumped and are looking for solutions and/or workarounds without having to wrap all of our tables in views to hide the fact that there is a primary key.
Thanks,
SteveThanks for the response, Greg.
The specific question I am seeking an answer for (sorry it was not clear on my first message) is this:
Why does the Oracle driver add the bind variable to the query only when the primary key is defined?
The Microsoft ODBC driver does not add the bind variable with or without a primary key defined.
You asked how I traced this statement and what I am doing is launching the query in Access and then using TOAD to view the V$SESSION and V$SQL_TEXT_WITH_NEWLINES views. All I do is change the driver. This is just for a simple browse table (double-click on the table) which should send
select * from table
However, whenever I use the Oracle ODBC driver (with a primary key defined) it sends
select * from table where primary_key = :1
If I remove the primary key on the table definition, the Oracle driver sends
select * from table
What is it about the primary key that could cause that behavior?
I don't think it is the MDAC/Jet level because this is the conversion to the native SQL statement not the Jet version. I know the Oracle driver has to do that part because you have those workaround options like don't add the RULE hint, etc. That's not part of the Jet engine.
Hope that helps. I'm just baffled over this one and wish I knew where to go next. -
Hi,
I would like to ask you if cad I use Oracle-ODBC driver (whuch version) for reading BLOB (LRAW) column in html(asp) - JavaScript.
create table JPG
CLZM NUMBER(6) not null,
JPG_FILE LONG RAW null ,
<% @ LANGUAGE=JavaScript%>
<%
Response.Buffer = true;
Response.ContentType = "image/jpeg";
Response.AddHeader("Content-Disposition","attachment; filename=test.jpg");
Response.CacheControl = "public";
Response.Expires = 0;
oConn = Server.CreateObject("ADODB.Connection");
oConn.Open("DSN=ORACLE;UID=scott;PWD=tiger;");
// Query SQL to obtain recordset containing gif BLOB
oRs = oConn.Execute("SELECT JPG_FILE FROM JPG WHERE CLZM='3156'");
// Obtain local variable of /*
PicSize = oRs("JPG_FILE").ActualSize;
Pic = oRs("JPG_FILE").GetChunk(PicSize);
// ??? Obtain only 4 bytey - why ???
Response.BinaryWrite(Pic);
Response.End();
%>
Thank's
OndrejI had the same problem using VBScript.
What you have to do isread in blocks of let's say 1k in a loop and check wether the return value is exactly 1k, if not you may end your loop.
Here's my code in VBScript.
Dim varBlob
Dim varChunk
Const chuckSize = 1024
Do
varChunk = objRs.Fields("blobField").getChunk(chuckSize)
varBlob = varBlob & varChunk
Loop While (len(varChunk) = chuckSize)
the contents of varBlob is your Picture
null
Maybe you are looking for
-
Our organization recently purchased 5 Acrobat upgrades and 4 full verions via the volume license site. I received one serial number (which I was later told the upgrade isn't really an upgrade but the full verion) and download via email downloaded th
-
UDO WITH MORE THAN ONE CHILD TABLE
Hello There. Can I handle more than one child table for a master table by code? if I can, how do I create this udo, I have tryed the following code, but it takes the last child table ("jobs7") If oUserObjectMD.GetByKey("Jbs_UO") = 0 Then
-
Hi experts, I have a requirement where i need to implement offline feature for applications in fiori lauchpad. For example suppose i login to the fiori launchpad , say i have 5 - 6 applications. Now i need those applications to run when i go offline
-
N80 3.0617.0.6 Firmware
Hi all, hi Karim, I know you locked the previous thread about N80 firmware, it was also a bit broad and started getting off topic (sorry for falling in that trap sometimes too). As I had reported, I was going to get my N80 updated today to latest fir
-
Communication Error in Video Chat
In Ichat my video camera hasn't been working since around october and im just wondering if anyone knows how to fix it. These are the details that come up when it doesn't work: Date/Time: 2009-01-18 13:04:45.256 -0500 OS Version: 10.5.5 (Build 9F33) R