Discussions
Categories
- 196.7K All Categories
- 2.2K Data
- 235 Big Data Appliance
- 1.9K Data Science
- 449.8K Databases
- 221.6K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 549 MySQL Community Space
- 477 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 532 SQLcl
- 4K SQL Developer Data Modeler
- 186.9K SQL & PL/SQL
- 21.3K SQL Developer
- 295.4K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.1K Development Tools
- 104 DevOps
- 3.1K QA/Testing
- 645.9K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 153 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 17 Java Essentials
- 158 Java 8 Questions
- 85.9K Java Programming
- 79 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.2K Java SE
- 13.8K Java Security
- 203 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 395 LiveLabs
- 37 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.6K Other Languages
- 2.3K Chinese
- 170 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 230 Portuguese
Linked Server Query with EXEC () AT

915593
Member Posts: 1
Hi Folks,
I am facing some issue .The scenario is like this : I've created a LINKED SERVER in SQL Server 2005
to connect to ORACLE database(so far so good) .After that i had to call their Stored Procedures, in which i was facing some problems.
So i decided to create stored procedures in SQL with the script similar to what the Oracle Stored Procedure looks like.
I used EXEC (' ') AT <SERVER NAME> syntax to create the SP. The main issue is the WHERE clause which is illustrated below
SYNTAX in SQL SP
----------------
WHERE (LOG_FUN_ID =? OR LOG_FUN_ID=NULL)
AND (LOG_STATUS_CODE=? OR LOG_STATUS_CODE=NULL)
AND (LOG_CHNL_ID=? OR LOG_CHNL_ID=NULL)
AND (T1.LOG_CREATION_TMSTMP LIKE ? || ''%'' OR T1.LOG_CREATION_TMSTMP=NULL)
AND (T1.LOG_CREATION_TMSTMP LIKE ? || ''%'' OR T1.LOG_CREATION_TMSTMP=NULL)
group by LOG_FUN_ID,LOG_STATUS_CODE
',
@LOG_FUN_ID,@LOG_STATUS_CODE,@LOG_CHNL_ID,@LOG_CRET_FRM,@LOG_CRET_TO) AT <servername>
----------------------------------------
SYNTAX in ORACLE SP
-------------------
WHERE (LOG_CREATION_TMSTMP >= to_timestamp(p_LOG_CRET_FRM, 'DD-MM-YYYY HH24:MI:SS') or p_LOG_CRET_FRM is null)
AND (LOG_CREATION_TMSTMP < to_timestamp(p_LOG_CRET_TO, 'DD-MM-YYYY HH24:MI:SS') or p_LOG_CRET_TO is null)
AND (LOG_CHNL_ID = p_LOG_CHNL_ID or p_LOG_CHNL_ID is null)
AND (LOG_FUN_ID = p_LOG_FUN_ID or p_LOG_FUN_ID is null)
AND (LOG_STATUS_CODE like p_LOG_STATUS_CODE ||'%' or p_LOG_STATUS_CODE is null)
group BY log_fun_id,log_status_code ;
The parameters are preceded by "p" in the above Oracle script.
So the SQL Script is not returning any records even though data is present in Oracle DB.
Edited by: 912590 on Feb 6, 2012 11:00 PM
I am facing some issue .The scenario is like this : I've created a LINKED SERVER in SQL Server 2005
to connect to ORACLE database(so far so good) .After that i had to call their Stored Procedures, in which i was facing some problems.
So i decided to create stored procedures in SQL with the script similar to what the Oracle Stored Procedure looks like.
I used EXEC (' ') AT <SERVER NAME> syntax to create the SP. The main issue is the WHERE clause which is illustrated below
SYNTAX in SQL SP
----------------
WHERE (LOG_FUN_ID =? OR LOG_FUN_ID=NULL)
AND (LOG_STATUS_CODE=? OR LOG_STATUS_CODE=NULL)
AND (LOG_CHNL_ID=? OR LOG_CHNL_ID=NULL)
AND (T1.LOG_CREATION_TMSTMP LIKE ? || ''%'' OR T1.LOG_CREATION_TMSTMP=NULL)
AND (T1.LOG_CREATION_TMSTMP LIKE ? || ''%'' OR T1.LOG_CREATION_TMSTMP=NULL)
group by LOG_FUN_ID,LOG_STATUS_CODE
',
@LOG_FUN_ID,@LOG_STATUS_CODE,@LOG_CHNL_ID,@LOG_CRET_FRM,@LOG_CRET_TO) AT <servername>
----------------------------------------
SYNTAX in ORACLE SP
-------------------
WHERE (LOG_CREATION_TMSTMP >= to_timestamp(p_LOG_CRET_FRM, 'DD-MM-YYYY HH24:MI:SS') or p_LOG_CRET_FRM is null)
AND (LOG_CREATION_TMSTMP < to_timestamp(p_LOG_CRET_TO, 'DD-MM-YYYY HH24:MI:SS') or p_LOG_CRET_TO is null)
AND (LOG_CHNL_ID = p_LOG_CHNL_ID or p_LOG_CHNL_ID is null)
AND (LOG_FUN_ID = p_LOG_FUN_ID or p_LOG_FUN_ID is null)
AND (LOG_STATUS_CODE like p_LOG_STATUS_CODE ||'%' or p_LOG_STATUS_CODE is null)
group BY log_fun_id,log_status_code ;
The parameters are preceded by "p" in the above Oracle script.
So the SQL Script is not returning any records even though data is present in Oracle DB.
Edited by: 912590 on Feb 6, 2012 11:00 PM
This discussion has been closed.