Calling Postgres function over DB link?
Hi,
I have established a link to Postgres DB (over ODBC Gateway), I am able to select data from Postgres tables (SQL Developer :) )- I would like to call a Postgres function- I have tried combinations with RETNUM@PGDB() [where retnum() is my function in Postgres, and PGDB is a working link]- but I'am unable to communicate with it- could you give me a hint, how to do it?
Regards
Bart Dabr
Hi Bart,
The DG4ODBC does not support calling remote stored procedures so this will never work. Because it is a 'generic' gateway designed to be used with many different data sources it does not have this functionality as the non-Oracle databases may not have stored procedures.
This is mentioned in the documentation -
Oracle® Database Gateway for ODBC User’s Guide 11g Release 2 (11.2)
Page 2-2 -
Known Restrictions
If you encounter incompatibility problems not listed in this section or in "Known
Problems" on page 2-3, contact Oracle Support Services. The following section
describes the known restrictions:
Does not support stored procedures
It also applies to the earlier 11.1 DG4ODBC and also 10.2 HSODBC.
Regards,
Mike
Similar Messages
-
PDA: Calling library functions - seems to link the stubbed .cpp file instead of the DLL
I'm having trouble developing a Lab View PDA module that calls a DLL built using Visual C++. The DLL functions correctly when called in a non-PDA VI. My issues seem to be with porting to the PDA.
My configuration:
- Lab View 8.5 with the PDA 8.5 module
- Visual Studio 8.0 with the Windows Mobile 6.0 SDK
- ASUS 626 PDA with an Intel PXA70 procesor running Windows Mobile 6 Classic
Following the PPCBatt example code provided with the PDA module, I have:
- used extern "C" to prevent name mangling
- placed the DLL built with the Windows Mobile SDK in the \Windows directory on the PDA
- created a stub Win32 DLL and lib
- created a stubbed cpp file whose functions only return zero
- included the stubbed cpp and lib files in the build spec / source files / additional files
- placed Call Library Function nodes on my PDA VI, selected the function names, set the parameter types
- built and deployed the executable, both with and without debug
When I set the library path property of the Call Library Node, the functions appeared in the function name pulldown, but the parameters did not populate. I had to manually add them and set their types. The help page says they would autopopulate when the function was selected.
I've debugged the VI, and the Library Function Call nodes are being called. It seems the build is linking the code from the stub C file provided in the additional files portion of the source files property page, instead of adding hooks to call the DLL on the PDA. As a test, I changed an output parameter in one of the functions in the stubbed cpp file - the changed value showed in the front panel indicator.
What am I doing wrong?
DanHi Dan,
I'm not sure if I understood you problem fully. When calling external code with LabVIEW PDA, the DLL acts as a stub DLL with the correct function prototypes for the C code that you want to call. Here's a Knowledge Base article that might help explain about calling External Code in LabVIEW PDA.
Regards,
Stanley Hu
National Instruments
Applications Engineering
http://www.ni.com/support -
Ora-600 using table function over db link
Hi,
I have a table function n my target schema (OWB 9.2.0.4 on Oracle 9.2.0.5) with the following signature:
function uii_get_exchange_data_tf(
p_input_values in sys_refcursor
) return uii_exchange_table_t pipelined
When I try to use this with a remote table over a db link, e.g.:
=============
select * from table(uii_get_exchange_data_tf(cursor (select sub_zone || '/' || exch_grp_cd exchange_id,
exch_name exchange_name FROM cds_exchange_test@uiid1@uiidraconn order by exchange_id)))
==============
I get this:
================
ORA-00600: internal error code, arguments: [kokbnp2], [942], [], [], [], [], [],
ORA-06512: at "UII_ODS_OWNER_DEV.UII_GET_EXCHANGE_DATA_TF", line 21
=================
However, if I create a local view with the same remote select like this:
===================
CREATE OR REPLACE FORCE VIEW UII_CDS_EXCHANGE_RV
AS SELECT sub_zone || '/' || exch_grp_cd exchange_id,
exch_name exchange_name
FROM cds_css_exch_detail@uiid1@uiidraconn;
====================
Then everything works fine.
Can someone help ? I'm sure I'm dooing something silly, since so many people seem to be using table functions from OWB just fine; but I can't figure out what :-(
Thanks in advance.
Regards,
Biswa.Hello,
Is this query works fine without creating mview
SELECT COL1,COL2, CASE when COL3 = Y then (select X from MASTER2@DBLINK) FROM MASTER1@DBLINK.
try something like this
SELECT col1, col2, CASE
WHEN col3 = y
THEN
(SELECT x
FROM master2@dblink)
END
my
FROM master1@dblinkregards -
ORA-7445 when trying to call a function over JDBC
Hi,
We are trying to call a PL/SQL stored function which is in a package. When we call the procedure with SQLPlus or something different, it works fine, no error occurs. But when we try to call it over jdbc, we gat the following error plus an ORA-07445 error in the alert log. (running 8.1.7.4.0 on SunOS 5.8)
UDBAdapter.UDBAdapter : 2003 Feb 04 09:04:05:662 DEBUG Alert : Connection--Connection recovered--NO_ALERT--1044342009152
UDBAdapter.UDBAdapter : 2003 Feb 04 09:04:05:662 DEBUG Operation : Customer Update
UDBAdapter.UDBAdapter : 2003 Feb 04 09:04:05:682 DEBUG Unique Id : 1123839
UDBAdapter.UDBAdapter : 2003 Feb 04 09:04:09:998 ERROR Exception MessageNo more data to read from socket
UDBAdapter.UDBAdapter : 2003 Feb 04 09:04:09:998 ERROR Exception Code17410
UDBAdapter.UDBAdapter : 2003 Feb 04 09:04:09:998 ERRORjava.sql.SQLException: No more data to read from socket
The alert log error is as follows :
ORA-07445: exception encountered: core dump [kolcpcpy()+168] [SIGBUS] [Invalid
address alignment] [2147484761] [] []
Any help would be appreciated. Best regards.
OgunHi Ogun,
The "oerr" utility for your error code gives the following output:
07445, 00000, "exception encountered: core dump [%s] [%s] [%s] [%s] [%s] [%s]"
// *Cause: An OS exception occurred which should result in the creation of a
// core file. This is an internal error.
// *Action: Contact your customer support representative.
Excuse the silly, obvious questions, but
* have you examined the core dump?
* have you contacted your customer support representative?
* have you searched the "MetaLink" web site?
http://metalink.oracle.com
If you care to post the part of your java code that is causing the problem -- I may be able to help you.
Good Luck,
Avi. -
SQL report region source to call a pl/sql function using DB link
Hi - I have a pl/sql function fn_dbtype(id NUMBER) defined in database X. The pl/sql function executes couple DML statements and returns a string (a SELECT query). I am able to call this function using SQL Plus (Connected to Database X) as below and it works fine:
declare
vSQL VARCHAR2(100);
begin
vSQL := fn_dbtype(1);
end;
The DML operations completed fine and vSQL contains the "Select" query now.
In APEX:
I am trying to create a SQL report in APEX using SQL query(PL/SQL function returning a sql statement) option. I am trying to figure out what to put in the region source so that the output of the "Select" query is displayed in the report.
Moreover APEX is hosted in a different database instance. So I would need to call this pl/sql function using a DB Link.
Please let me know what I need to put in the region source to execute the pl/sql function which returns the "Select" query thereby displaying the query output in the report. Thanks.
Edited by: user709584 on Mar 19, 2009 2:32 PM
Edited by: user709584 on Mar 19, 2009 2:34 PMtry something like this:
return fn_dbtype(1)@dblink; -
Link that calls DB function in report
I have a standard report. I would like to add 2 links to the end of each row with the action by the user.
For example:
Order No Name Action
123 John Doe Approve | Decline
456 Jane Dow Approve | Decline
Where Approve and Decline are links that call DB functions.
How do I begin?
TIA
ScottHi Scott,
You can try this
Create an application level item F101_ID
Create 2 appication level processes to call you're stored procedures / functions.
One for Accept and one Decline. F101_ID would probably be the PK of the record you are dealing with or
in the example below "column_name_1"
If you want to use a icon
select .....
'<img src="#WORKSPACE_IMAGES#accept.ico" width="30" height="30" alt="Accept"'
|| 'onclick="javascript:accept(this,'||column_name_1||','||column_name_2||');">',
'<img src="#WORKSPACE_IMAGES#decline.ico" width="30" height="30" alt="Accept"'
|| 'onclick="javascript:decline(this,'||column_name_1||','||column_name_2||');">'
from table_name
if you want to use a URL then use this
select ....
'a href="javascript:accept(this,'||column_name_1||','||column_name_2||');">Accept',
'a href="javascript:decline(this,'||column_name_1||','||column_name_2||');">Decline'
from table_name
On your page definition under HTML header add the following javascript
<script language="JavaScript" type="text/javascript">
function accept(pThis,pSelect,formItem1){
alert("Accepted.");
var l_Return = null;
var url;
var l_Select = html_GetElement(pSelect);
var get = new htmldb_Get(null,$x('pFlowId').value,
'APPLICATION_PROCESS=ACCEPT',0);
get.add('F101_ID',pSelect);
gReturn = get.get('XML');
url = 'f?p=&APP_ID.:108:&APP_SESSION.::::P108_ID:' + formItem1;
w = window.location(url);
return false;
</script>
<script language="JavaScript" type="text/javascript">
function decline(pThis,pSelect,formItem1){
alert("Declined.");
var l_Return = null;
var url;
var l_Select = html_GetElement(pSelect);
var get = new htmldb_Get(null,$x('pFlowId').value,
'APPLICATION_PROCESS=DECLINE',0);
get.add('F101_ID',pSelect);
gReturn = get.get('XML');
url = 'f?p=&APP_ID.:108:&APP_SESSION.::::P108_ID:' + formItem1;
w = window.location(url);
return false;
</script>
Hope this helps
Connor
Edited by: user4505115 on 2010/05/03 1:40 PM
Edited by: user4505115 on 2010/05/03 1:41 PM -
Call Javascript function to pass a id from APEX report column link
Hi,
Can anyone help me, in a report column link i'm calling a function to pass an id and i want to onclick change a icon on that column based on the value on the column status of this table.
Is this possible?Hi Ron,
I am doing exaclty what you have suggested me but no luck. I started changing the DEMO_CUSTOMERS application to my requirements.The report is working fine and on the report I have created a page attribute to the Hyper linked column and linked that to the page 2 and assign that attribute with #JOBNUM#.
I am able to pass that value on to form when I click on the JOBNUM. But the problem is I am not able to pass that value into the SQL query so that my query pulls 20+ columns on to the Form ( which is second page ).
Small clarification... On the form region it is said FORM NAME and type is HTML is that is the way the APEX was designed or does it need to say region type as FORM.
Thanks for your help in advance.
Cheers,
Krishna. -
How to call a servlets specific function from a link?
hi all ! Im trying to call a function callled A from a link in my JSP. Im not using any buttons. How do I make this work?
Thanks in advance.Hi,
A solution to call A might include a custom JSP element. Inside the code for the
element, you can get a reference to whatever object that "does an A", and make a call on the respective method/function/behavior. You need to extend the standard tag handler classes.
Good luck! -
Calling functions over client server connection
i am currently sending an object between client and server that contains getters that have string variables that are evaluated by a large if statement in the reciever. i was wondering if it is possible to do this a simpler way rather than having a large if statement for all fo the possibilities that are contained in the object.getAction.
ie:
client sends object to server where getAction() = count
server receives object and evaluates the getAction() in a large if statement like so
if object.getAction()=="hi"
hi();
else if object.getAction()=="hello"
that();
else if object.getAction()=="count"
count();
else if object.getAction()=="multiply"
multiply();
is there a simpler and quicker way to do this? i have thought of ways that would just allow a direct calling of a function on the server or client side but i don't see how it would be possible.
something like this...
String function = object.getAction()
function(); -- where function is the string variable it receives from getAtion();
I know it is not possible to call a function from a variable, but that was my idea. any input or ideas wold be helpful.If your server has an array of predefined Runnable objects and the return value of the getAction() method is an int, then
new Thread(rarray[object.getAction()]).start();In Java, only closure-like object is Runnable. -
Calling a function from another class - help!
I realize that this is probably a basic thing for people who have been working with JavaFX for a while, but it is eluding me, and I have been working on it for over a week.
I need to call a function that is in another class. Here's the deal. In EntryDisplayController.java, there are 2 possible passwords that can be accepted - one will give full access to the car, the second will limit functions on the car. So when a password is entered and verified as to which one it is, I need to call a function in MainDisplayController.java to set a variable that will let the system know which password is being used - full or restricted.
So in MainDisplayController.java I have this snippet to see
public class MainDisplayController implements Initializable, ControlledScreen {
ScreensController myController;
public static char restrict;
* Initializes the controller class.
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
public void setRestriction(){
restrict = 0;
restrictLabel.setText("RESTRICTED");
public void clearRestriction(){
restrict = 1;
restrictLabel.setText("");
And in EntryScreenDisplay.java I have this snippet:
public class EntryDisplayController implements Initializable, ControlledScreen {
@FXML
private Label passwordLabel ;
static String password = new String();
static String pwd = new String("");
ScreensController myController;
private MainDisplayController controller2;
* Initializes the controller class.
@Override
public void initialize(URL url, ResourceBundle rb) {
setPW(pwd); // TODO
@FXML
private void goToMainDisplay(ActionEvent event){
if(password.equals ("123456")){
controller2.clearRestriction();
myController.setScreen(ScreensFramework.MainDisplayID);
pwd = "";
password = "";
setPW(pwd);
else if(password.equals ("123457")){
controller2.setRestriction();
myController.setScreen(ScreensFramework.MainDisplayID);
pwd = "";
password = "";
setPW(pwd);
else{
password = "";
pwd = "";
setPW(pwd);
When I enter the restricted (or full) password, I get a long list of errors, ending with
Caused by: java.lang.NullPointerException
at velocesdisplay.EntryDisplayController.goToMainDisplay(EntryDisplayController.java:60)
Line 60 is where "controller2.setRestriction(); is.
As always, thanks for any help.
Kind regards,
DavidYou never set the controller2 variable to anything, which is why you get a null pointer exception when you try to reference it.
public static variables (and even singletons) are rarely a good idea as they introduce global state (sometimes they can be, but usually not).
If a static recorder like this can only have a binary value, use a boolean, if it can have multiple values, use an enum.
Some of the data sharing solutions in dependency injection - Passing Parameters JavaFX FXML - Stack Overflow might be more appropriate.
I also created a small framework for roll based solutions in JavaFX which perhaps might be useful:
http://stackoverflow.com/questions/19666982/is-there-a-way-to-implement-a-property-like-rendered-on-javafx
https://gist.github.com/jewelsea/7229260
It was just something I hacked together, so it's not a fully polished solution and you probably don't need something quite so complex.
What you need is a model class shared between the components of your application. Dependency injection frameworks such as afterburner.fx can help achieve this in a fairly simple to use way.
If you don't want to go with a dependency injection framework, then you could use either a static singleton model class for your settings or pass the model class using the mechanism in defined in the passing parameters link I provided. For a model class example, see the ClickCounter class from this example. That example doesn't use FXML, but to put it together with the passing parameters solution, for your restriction model, you would have something like the following:
private class Restricted {
private final ReadOnlyBooleanWrapper restricted;
public Restricted(boolen isRestricted) {
restricted = new ReadOnlyBooleanWrapper(isRestricted);
public boolean isRestricted() {
return restricted.get();
public ReadOnlyBooleanProperty restrictedProperty() {
return restricted.getReadOnlyProperty();
Then in your EntryDisplayController you have:
@FXML
public void goToMainDisplay(ActionEvent event) {
// determine the restriction model as per your original code...
RestictionModel restrictionModel = new RestrictionModel(<appropriate value>);
FXMLLoader loader = new FXMLLoader(
getClass().getResource(
"mainDisplay.fxml"
Stage stage = new Stage(StageStyle.DECORATED);
stage.setScene(
new Scene(
(Pane) loader.load()
MainDisplayController controller =
loader.<MainDisplayController>getController();
controller.initRestrictionModel(restrictionModel);
stage.show();
class MainDisplayController() {
@FXML private RestrictionModel restrictionModel;
@FXML private RestrictLabel restrictLabel;
public void initialize() {}
// naming convention (if the restriction model should only be set once per controller, call the method init, otherwise call it set).
public void initRestrictionModel(RestrictionModel restrictionModel) {
this.restrictionModel = restrictionModel;
// take some action based on the new restriction model, for example
restrictLabel.textProperty.bind(
restrictionModel.restrictedProperty().asString()
If you have a centralized controller for your navigation and instantiation of your FXML (like in this small FXML navigation framework), then you can handle the setting of restrictions on new screens centrally within the framework at the point where it loads up FXML or navigates to a screen (it seems like you might already have something like this with your ScreensController class).
If you do this kind of stuff a lot, then you would probably benefit from a move to a framework like afterburner. If it is just a few times within your application, then perhaps something like the above outline will give you enough guidance to implement a custom solution. -
I am in the process of determining if VOIP is more accessible and flexible compared to an existing, traditional PBX system. I cannot find whether VOIP provides the call center functions like a PBX system (i.e. call duration reports, number & times for an extension report, etc.) Also, I did not find any information in regards to calling pools, fall overs on extensions, etc. and if that is handled at the extension (phone) or in the call switching module. Any help or direction to more specific details would be appreciated.
The call center funtionallity is an addition to the IP PBX (CallManager is Cisco's IP PBX), and requires another application layer in your environmnet.
Cisco has 2 contact center applications, IPCC Express (up to 300 agents) and IPCC Enterprise for enterprise level customers, from architetural perspective these are completely different products, and off course prise is different.
Take a look a tht following linke for more information:
http://www.cisco.com/univercd/cc/td/doc/product/icm/index.htm
Most legacy PBX features are available on CallManager, you'll need to be more specific on "calling pools, fall overs on extensions".
take a look at CallManager documentation for more details:
http://www.cisco.com/univercd/cc/td/doc/product/voice/c_callmg/5_0/sys_ad/5_0_4/index.htm
HTH,
Chris -
Call Library Function Node: library not found or failed to load
Hello,
I had a VI that could not find some of the dll functions it needed. It works on one machine and not on another. So foolishly I copied the dll in question from the working machine and pasted it over the one on the non-working machine.
Now all my math functions are broken on the machine I copied the dll too. The error is "Call Library Function Node: library not found or failed to load"
And if I try to relink in the VI I get "Error loading C:\National Instruments\LabVIEW 8.2\resource\lvanlys.dll" A dynamic link library (DLL) initialization routine failed."
I tried a repair labview and that did not help.
I tried uninstall and reinstall labview and that did not help!
Please help me fix this!
Version 8.2
dll: C:\National Instruments\LabVIEW 8.2\resource\lvanlys.dll
JimWhat library did you first copy?
Also lvanlys.dll depends on the Intel Math Kernel Library that gets installed in a different location "C:\Program Files\National Instruments\Shared\MKL".
This Intel Math Kernel Library again depends on the Visual C runtime libraries. Most likely you replaced one of those runtime libraries somehow and now the Math Kernel Library (MKL) fails to initialize which causes thelvanlys.dll to fail its load.
Without a good view on your system and what other NI software you have installed it is very hard to recommend a good way of proceeding. There are various versions of the MKL used by various versions of NI products and just deleting the entire MKL folder might get you into trouble with other NI tools.
Deinstalling everything from NI, deleting the entire National Instruments folder and then reinstalling what you need would be the most safe proceeding.
And next time don't just copy some Visual C runtime libraries between machines. Their dependencies are complicated at the least and simply not graspable by us mere mortals. Use the according C runtime installer for the version you need as that installer will take care of installing the right versions of C runtime components and registering everything proberly so you do not usually run into problems with other applications using different versions of the C runtime.
Message Edited by rolfk on 03-01-2010 10:26 AM
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions -
Execute procedure over db link
I am trying to execute a stored procedure over database link and I get the following error
DBMS_APPLY_ADM.SET_UPDATE_CONFLICT_HANDLER@DBCS(
ERROR at line 12:
ORA-06550: line 12, column 2:
PLS-00306: wrong number or types of arguments in call to 'SET_UPDATE_CONFLICT_HA
NDLER'
ORA-06550: line 12, column 2:
PL/SQL: Statement ignored
However when I execute the same peice of code by logging on to the server the code executes successfully. "DBCS" is the database link name.
CODE which I am executing over DB LINK
DECLARE
COL_NAME DBMS_UTILITY.NAME_ARRAY;
CURSOR C1 IS
SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE OWNER='SCOTT' AND TABLE_NAME='DEPT';
BEGIN
OPEN C1;
FETCH C1 BULK COLLECT INTO COL_NAME;
CLOSE c1;
DBMS_APPLY_ADM.SET_UPDATE_CONFLICT_HANDLER@DBCS(
OBJECT_NAME => 'SCOTT.DEPT',
METHOD_NAME => 'OVERWRITE',
RESOLUTION_COLUMN => COL_NAME(1),
COLUMN_LIST => COL_NAME);
END;
CODE without DB LINK (executed this on db where db link is pointing too.
DECLARE
COL_NAME DBMS_UTILITY.NAME_ARRAY;
CURSOR C1 IS
SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE OWNER='SCOTT' AND TABLE_NAME='DEPT';
BEGIN
OPEN C1;
FETCH C1 BULK COLLECT INTO COL_NAME;
CLOSE c1;
DBMS_APPLY_ADM.SET_UPDATE_CONFLICT_HANDLER(
OBJECT_NAME => 'SCOTT.DEPT',
METHOD_NAME => 'OVERWRITE',
RESOLUTION_COLUMN => COL_NAME(1),
COLUMN_LIST => COL_NAME);
END;
Please guide.orausern wrote:
Hi,
We are on Oracle 11.2.0.2 on Solaris 10. I have two databases on this version of Oracle. From one db I have execute a stored procedure via db link to another database. The store procedure has dynamic sqls (execute immediate) and it uses commit statement as part of the code. Is it alllowed to execute this procedure over db link? I am not aware on the implications on stored proc execution over db link and will be thankful for help.
Thanks,if no error is thrown, why are you looking for problems where none exist? -
Interactive report performance problem over database link - Oracle Gateway
Hello all;
This is regarding a thread Interactive report performance problem over database link that was posted by Samo.
The issue that I am facing is when I use Oracle function like (apex_item.check_box) the query slow down by 45 seconds.
query like this: (due to sensitivity issue, I can not disclose real table name)
SELECT apex_item.checkbox(1,b.col3)
, a.col1
, a.col2
FROM table_one a
, table_two b
WHERE a.col3 = 12345
AND a.col4 = 100
AND b.col5 = a.col5
table_one and table_two are remote tables (non-oracle) which are connected using Oracle Gateway.
Now if I run above queries without apex_item.checkbox function the query return or response is less than a second but if I have apex_item.checkbox then the query run more than 30 seconds. I have resolved the issues by creating a collection but it’s not a good practice.
I would like to get ideas from people how to resolve or speed-up the query?
Any idea how to use sub-factoring for the above scenario? Or others method (creating view or materialized view are not an option).
Thank you.
Shaun S.Hi Shaun
Okay, I have a million questions (could you tell me if both tables are from the same remote source, it looks like they're possibly not?), but let's just try some things first.
By now you should understand the idea of what I termed 'sub-factoring' in a previous post. This is to do with using the WITH blah AS (SELECT... syntax. Now in most circumstances this 'materialises' the results of the inner select statement. This means that we 'get' the results then do something with them afterwards. It's a handy trick when dealing with remote sites as sometimes you want the remote database to do the work. The reason that I ask you to use the MATERIALIZE hint for testing is just to force this, in 99.99% of cases this can be removed later. Using the WITH statement is also handled differently to inline view like SELECT * FROM (SELECT... but the same result can be mimicked with a NO_MERGE hint.
Looking at your case I would be interested to see what the explain plan and results would be for something like the following two statements (sorry - you're going have to check them, it's late!)
WITH a AS
(SELECT /*+ MATERIALIZE */ *
FROM table_one),
b AS
(SELECT /*+ MATERIALIZE */ *
FROM table_two),
sourceqry AS
(SELECT b.col3 x
, a.col1 y
, a.col2 z
FROM table_one a
, table_two b
WHERE a.col3 = 12345
AND a.col4 = 100
AND b.col5 = a.col5)
SELECT apex_item.checkbox(1,x), y , z
FROM sourceqry
WITH a AS
(SELECT /*+ MATERIALIZE */ *
FROM table_one),
b AS
(SELECT /*+ MATERIALIZE */ *
FROM table_two)
SELECT apex_item.checkbox(1,x), y , z
FROM table_one a
, table_two b
WHERE a.col3 = 12345
AND a.col4 = 100
AND b.col5 = a.col5If the remote tables are at the same site, then you should have the same results. If they aren't you should get the same results but different to the original query.
We aren't being told the real cardinality of the inners select here so the explain plan is distorted (this is normal for queries on remote and especially non-oracle sites). This hinders tuning normally but I don't think this is your problem at all. How many distinct values do you normally get of the column aliased 'x' and how many rows are normally returned in total? Also how are you testing response times, in APEX, SQL Developer, Toad SQLplus etc?
Sorry for all the questions but it helps to answer the question, if I can.
Cheers
Ben
http://www.munkyben.wordpress.com
Don't forget to mark replies helpful or correct ;) -
Program making a RFC call to Function Module not working in background
Hi All,
I have an ABAP Program which is used to do a reconciliation check between the R/3 and BI system for Invoice Data. Please find below the details of the program flow:
1. Program counts the number of records in the DSO table and aggregates the Net_Value based on the date range (passed as parameters)
2. Program calls a Function Module (RFC Call) which counts the number of records in the R/3 table and aggregates the Net_Value for the same date range
3. Function Module Passes back the count values and aggregated Net_Value to the program
4. Program compares the count and aggregated Net_Value from EDWH and MSP systems and sends an email mentioning whether the counts match or not
However we are facing an issue.
Whenever, we execute the program in dialog mode, it works fine and fetches results within 5-6 minutes. However if we schedule the program to run in background (parameters through a variant), it gives no results even after running for over 3-4 hours. We tried figuring it out yesterday but could not come to any conclusion. Since there is a RFC call being to the function module, we were wondering if we need to specify some other parameter as well.
Thanks & Regards
DharmendraRFC Call is a procedure for executing remote enables function modules. It is done via the 'Remote Enabled' radio button on the function module's attribute screen.
Maybe you are looking for
-
With the iphone 5, how many people can you text at once?
how many people can you text at one time, using the iphone5?
-
Can't import an OpenSSL signed cert into a JKS using keytool
Hey everyone, *[Update]* When I do a "openssl x509 -in server1.pem -issuer -noout" after I've supposedly signed it with the CA, the issuer is, for some reason, the DN string of server1. If server1 generated the CSR, and it is coming up as issued by s
-
Less:advance payment/credits in invoive
Hi, I have a requirement that i have to less the advance payment / credits in the invoice. So what are the settings i have to do for this and kindly explain the process.... Thanks in Advance S K Valluru
-
Wrong sap_ep_baseurl when calling a bsp application via appintegrator iview
Hi all, we have integrated an BSP application via an appintegrator iview. Everything works fine except that the sap_ep_baseurl parameter in the BSP application URL is incorrect. It contains the port number 50000 which should not be included in the ur
-
What's the metadata in BW?
what's the metadata in BW? Is metadata a discription of any object in BW, such as length and type etc.?