Stored procedures in PV database

I want to create PL/SQL stored procedures in Primavera database(Oracle 8.1.7) using JDBC ODBC bridge driver which further uses system dsn PrimaveraSDK_PE(Installed by standard Primavera client).
Whenever i try creating it, i get an error message saying syntax error near word procedure.
Same error occurs when i try creating a table.
Following are my connection parameters:
odbcURL = "jdbc:odbc:PrimaveraSDK_PE"
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          con1 = DriverManager.getConnection(odbcURL, "admin", "admin");
I can create the procedures using Oracle OCI driver but using that i do not have access to all fields..so errors says..invalid column.
following are connection parameters:
String driverName = "oracle.jdbc.driver.OracleDriver";
     Class.forName(driverName);
          con = DriverManager.getConnection("jdbc:oracle:oci8:@sapxi","privuser","privuser");
Since I cannot see all the fields of database through PL/SQL, I think this approach would not work. To see all the fields of database I must access it using DSN ONLY!!! Even the administrative login is not been able to show me all the fields.This is the way they have designed it....
So whats wrong in creating the stored procedures in oracle database using JDBC ODBC bridge driver using system DSN????????
Please help

Thanks for your reply!!!
Here is the code!
import java.sql.*;
import java.util.*;
import java.text.*;
class Try
static String odbcURL = "jdbc:odbc:PrimaveraSDK_PE";
static public synchronized Connection getConnection ()
               throws SQLException, ClassNotFoundException
          Connection con1 = null;
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          con1 = DriverManager.getConnection(odbcURL, "admin", "admin");
          return con1;
public static void main(String[] args) throws Exception
          try
          Connection con = getConnection();
     String actionQuery = new StringBuffer( "select wbs_id, wbs_concat_name , wbs_short_name , wbs_name from projwbs where wbs_id = 3986").toString();
          ResultSet rs=null;
          PreparedStatement prepStmt = con.prepareStatement(actionQuery);
          rs = prepStmt.executeQuery();
          int wbsID = 0;
          if (rs == null )
               System.out.println("rs null");
          else
          while(rs.next())
          wbsID = rs.getInt(1);
          System.out.println("rs not null");
          System.out.print(" " + wbsID);
          System.out.print(" " + rs.getString(2));
          System.out.print(" " + rs.getString(3));
          System.out.print(" " + rs.getString(4));
          rs.close();
          prepStmt.close();
// Creating Stored Procedure....
Statement stmt = con.createStatement();
String procedure = "CREATE OR REPLACE PROCEDURE FirstProc AS BEGIN SELECT PROJ_ID FROM PROJECT; END; ";
stmt.executeUpdate(procedure);
System.out.println("Proceudre created or updated successfully!");
stmt.close();
          catch(Exception e)
               e.printStackTrace();
and the complete stack trace!!!
rs not null
3986 EN EN ABCfghjkl
java.sql.SQLException: [ATI][OpenRDA ODBC]Syntax error in SQL statement. syntax error line 1 at or after token <OR>.
     at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
     at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
     at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)
     at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source)
     at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(Unknown Source)
     at pack1.Try.main(Try.java:134)
First two lines show the valid output for the select query..which is absolutely correct. But the create procedure statement is throwing above mentioned errors.
Also one more important thing, I am not been able to view all the columns of table projwbs(its regarding Primavera SDK) through SQL Plus having administrative rights.
But I can access all the fields using jdbc odbc bridge driver in Java.
Is there any specific security or access control????
so that users would able to access specific columns through JDBC only and not through SQL Plus.
Please help!!!

Similar Messages

  • How to call MSSQL stored procedure from oracle database

    MSSQL and Oracle databases are linked thru ODBC link using Oracle HSODBC.
    I can query MSSQL table or view from Oracle Database using standard notation for acessing remote objects schema.object@dblink_name...
    Can anybody give me syntax for calling MSSQL stored procedure thru ODBC database link?
    I tried syntax exec schema.stored_procedure@dblink_name but it doesn't work...i'm getting schema.stored_procedure must be declared error...
    Tnx,in advance!
    Dejan Botica

    Oracle database 10gR2.
    MSSQL2000 database.
    For example query:
    select * from dbo.Tbl_Test@kron@dw_jamnica; works fine...
    ...while for example exec dbo.Test@kron@dw_jamnica;
    reports error:
    ORA-06550: line 1, column 7:
    PLS-00201: identifier 'DBO.TEST@KRON@DW_JAMNICA' must be declared
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    Table Tbl_Test and procedure Test exists in MSSQL instance.
    Regards,
    Dejan

  • Is it possible to calling another stored procedure in another database?

    Hello all, I hope you can help me out.
    I need to call another stored procedure in another database? Is it possible?
    I know you can call another stored procedure in the same package:
    Var_SQL :='call SP_Tes (''' || Var_1 || ''',''' || Var_2 ||''')' ;
    EXECUTE IMMEDIATE Var_SQL;
    But how do call it if its in another database? I assume, I'd have to open a new connection to it, then call it...
    Please help me. thanks

    I managed to find my synonym;
    select synonym_name, table_owner, table_name from all_synonyms where synonym_name = 'PKG_EDONWEB70'
    (BTW, its upper case sensitive, I eventually found out)
    But as you said; "anyway, what..."
    1)Crete synonym with the dblink, which is the same DB as the one I'm using:chec
    create public synonym pkg_edonweb70test2 for [email protected]
    Result: ok2)check it exists:
    select synonym_name, table_owner, table_name from all_synonyms where synonym_name = 'PKG_EDONWEB70TEST2'
    Result: ok3)check it runs in sql:
    DECLARE
        P_RETURNVALUE1 number;
    BEGIN
        PKG_EDONWEB70TEST2.SP_TESTSMB_DESTINATION ( P_RETURNVALUE1 );   
        COMMIT;
    END;
    Result: ok4)Add it to the strored procedure that is going to call it
    PROCEDURE sp_testSMB_origin(P_RETURNVALUE1 OUT number) IS
            thissql varchar(1000);      
        BEGIN
        BEGIN
            PKG_EDONWEB70TEST2.SP_TESTSMB_DESTINATION ( P_RETURNVALUE1 );   
            COMMIT;
        END;
        end sp_testSMB_origin;
    Result: FAIL; pls-00201: identifier 'PKG_EDONWEB70TEST2' must be declared

  • Java web service to invoke a stored procedure in the database

    Hi
    Does anybody have a example Java web srevice to invoke a stored procedure in the database
    regards
    Edited by: hrishy on May 20, 2011 12:11 AM

    hrishy wrote:
    Thanks i have modified the title so its easy to comprehendWrite the two parts mentioned above and post if you get problems with your code.
    First write code that calls the stored procedure and test that to make sure that it works.
    Then write a simple webservice and test it out to make sure it works. The integration should be trivial after that.

  • Java Stored Procedure in one database connecting to muntiple databases.

    Hello,
    I created a Java Stored Procedure in one database(Oracle10g) and successfully open a connection to another database(Oracle10g) using Thin JDBC Driver. I want to actually transfer CLOB data from one DB to another DB. I am concern that by opening a connection another database in Java Stored Procedure, might interfere with oracle and destabilize the instance at some point. Oracle JDBC FAQ (Link: http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm#34_13) stated that Yes it could be done but then mentioned the workaround.(if it could be done why do we need a workaround!!!)
    I would like to confirm whether connecting to multiple DB using JDBC Thin Driver in a Java Stored Procedure is supported by Oracle10g or not and whether it has any known issue with it.
    Thanks in Advance!
    Edited by: user649261 on Sep 16, 2008 8:05 PM

    hrishy wrote:
    Thanks i have modified the title so its easy to comprehendWrite the two parts mentioned above and post if you get problems with your code.
    First write code that calls the stored procedure and test that to make sure that it works.
    Then write a simple webservice and test it out to make sure it works. The integration should be trivial after that.

  • Pointbase : How can I create a stored procedure with Pointbase database?

    Hello,
    Excuse me for my english, I'm not anglophone. I try to create a stored procedure.
    This is my file SampleExternalMethods.java :
      import java.sql.*;    //import com.pointbase.jdbc.jdbcInOutDoubleWrapper;          public class SampleExternalMethods    {      // A connection object to allow database callback      static Connection conn = null;      static Statement l_stmt;      static Statement m_stmt;      static CallableStatement m_callStmt = null;      static ResultSet l_rs = null;          public static void main(String[] args)      {        try        {          String url = "jdbc:pointbase:server://localhost/pointbaseDB";          String username = "PBPUBLIC";          String password = "PBPUBLIC";          conn = DriverManager.getConnection(url, username, password);          doCreateProcedure();          doInvokeProcedure();        } catch (SQLException e) {          e.printStackTrace();        } finally {          if (m_stmt != null) {            try {              m_stmt.close();            } catch (Exception e) {              e.printStackTrace();            }          }          if (m_callStmt != null) {            try {              m_callStmt.close();            } catch (Exception e) {              e.printStackTrace();            }          }          if (conn != null) {            try {              conn.close();            } catch (Exception e) {              e.printStackTrace();            }          }        }      }                  public static void getCountry(String Iso_Code)      {        try        {          // Query the database for the country iso code          l_stmt = conn.createStatement();          l_rs = l_stmt.executeQuery( "SELECT * FROM countries"          + " WHERE country_iso_code ='" + Iso_Code + "'");          //Affichage du résultat de la requête          l_rs.next();          System.out.print(l_rs.getString(1) + " - ");          System.out.print(l_rs.getString(2) + " - ");          System.out.println(l_rs.getString(3));          // Close the result set          l_rs.close();        } catch (SQLException e) {          e.printStackTrace();        } finally {          if (l_rs != null) {            try {              l_rs.close();            } catch (Exception e) {              e.printStackTrace();            }          }          if (l_stmt != null) {            try {              l_stmt.close();            } catch (Exception e) {              e.printStackTrace();            }          }        }      }            public static void doCreateProcedure() throws SQLException {        // SQL statement to create a stored procedure        String SQL_CREATE_PROC = "CREATE PROCEDURE getCountry(IN P1 VARCHAR(30))"        + " LANGUAGE JAVA"        + " SPECIFIC getCountry"        + " NO SQL"        + " EXTERNAL NAME \"SampleExternalMethods::getCountry\""        + " PARAMETER STYLE SQL";        // Create a SQL statement        m_stmt = conn.createStatement();        // Execute the SQL        m_stmt.executeUpdate(SQL_CREATE_PROC);        // Close the statement        //m_stmt.close();      }          public static void doInvokeProcedure() throws SQLException {        // Create SQL to invoke stored procedures        String SQL_USE_PROC = "{ call getCountry(?) }";        // Create a callable statement with three binding parameters        m_callStmt = conn.prepareCall(SQL_USE_PROC);        m_callStmt.setString(1, "CA");        m_callStmt.executeQuery();        // Close the callable statement        //m_callStmt.close();      }    } 
    Afterwards, I have read this note in a Pointbase document:
    To invoke the dateConvert external Java method from a stored function, you must use the
    CREATE FUNCTION statement. The dateConvert external Java method is called from the
    class, SampleExternalMethods.
    In order for the database to access this external Java method, the class SampleExternalMethods
    must be included in the database CLASSPATH. For PointBase Embedded - Server Option, it
    must be in the Server CLASSPATH, but not in the Client CLASSPATH.
    If PointBase Server is run with the Java Security Manager, in the java policy file grant
    ’com.pointbase.sp.spPermission’ to the class that implements the external Java method.
    An "spPermission" consists of a class name with no action. The class name is a name of a class
    that could be used in creating a Stored Procedure in PointBase. The naming convention follows
    the hierarchical property naming convention and that is supported by
    "java.security.BasicPermission". An asterisk may appear by itself, or if immediately preceded
    by ".", may appear at the end of the name, to signify a wildcard match. The name cannot
    contain any white spaces.
    I'm not sure, but I suppose that I must include the class SampleExternalMethods in a .jar file.
    The database CLASSPATH could be : C:\Sun\AppServer\pointbase\lib\
    These my files in this database CLASSPATH:
    pbclient.jar
    pbembedded.jar
    pbtools.jar
    pbupgrade.jar
    I have tryed to include the class SampleExternalMethods in pbclient.jar and pbembedded.jar with this command:
    jar -uf pbembedded.jar SampleExternalMethods
    Afterwards I do that,
    1) Start Pointbase
    2) Configuration of classpath
    set classpath=C:\Sun\AppServer\pointbase\lib\pbclient.jar
    set classpath=%classpath%;D:\J2EE\Ch07Code\Ch07_06
    I precise that my file SampleExternalMethods is into D:\J2EE\Ch07Code\Ch07_06\Ch07.
    Then, I run the program:
    D:\J2EE\Ch07Code\Ch07_06>java -Djdbc.drivers=com.pointbase.jdbc.jdbcUniversalDriver Ch07.SampleExternalMethods
    But I have an error message:
    Exception in thread "main" java.lang.NoClassDefFoundError: Ch07.SampleExternalMethods (wrong name: SampleExternalMethods)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.DefineClass(ClassLoader.java:539)
    The problem, I suppose, comes from that the class SampleExternalMethods
    must be included in the database CLASSPATH, but there is a pbserver.jar with pointbase normally, but I didn't find it. That's why I use pbembedded.jar or pbclient.jar in order to include the class SampleExternalMethods. May be I must start from C:\Sun\AppServer\pointbase\lib\ instead of D:\J2EE\Ch07Code\Ch07_06\Ch07?
    Please, can somebody helps me?
    Thank you in advance.
    cagou!

    jschell wrote:
    And I doubt you can recurse like that for embedded java. You must have a class that does the functionality and another class that creates the proc.
    >And I doubt you can recurse like that for embedded java. You must have a class that does the functionality and another class that creates the proc.
    >
    And I doubt you can recurse like that for embedded java. You must have a class that does the functionality and another class that creates the proc.
    Thank you for your response, I have done two classes:
    SampleExternalMethods.java:
    package Ch07;
    import java.sql.*;*
    *public class SampleExternalMethods*
    *public static void getCountry(String Iso_Code)*
    *// A connection object to allow database callback*
    *Connection l_conn = null;*
    *Statement l_stmt = null;*
    *ResultSet l_rs = null;*
    *try*
    *String url = "jdbc:pointbase:server://localhost/pointbaseDB";*
    *String username = "PBPUBLIC";*
    *String password = "PBPUBLIC";*
    *l_conn = DriverManager.getConnection(url, username, password);*
    *// Query the database for the country iso code*
    *l_stmt = l_conn.createStatement();*
    *l_rs = l_stmt.executeQuery( "SELECT* FROM PBPUBLIC.COUNTRIES"
    +" WHERE country_iso_code ='"+ Iso_Code +"'");+
    +//Affichage du r&eacute;sultat de la requ&ecirc;te+
    +l_rs.next();+
    +System.out.print(l_rs.getString(1)+ " - ");
    System.out.print(l_rs.getString(2) +" - ");+
    +System.out.println(l_rs.getString(3));+
    +// Close the result set+
    +l_rs.close();+
    +} catch (SQLException e) {+
    +e.printStackTrace();+
    +} finally {+
    +if (l_rs != null) {+
    +try {+
    +l_rs.close();+
    +} catch (Exception e) {+
    +e.printStackTrace();+
    +}+
    +}+
    +if (l_stmt != null) {+
    +try {+
    +l_stmt.close();+
    +} catch (Exception e) {+
    +e.printStackTrace();+
    +}+
    +}+
    +if (l_conn != null) {+
    +try {+
    +l_conn.close();+
    +} catch (Exception e) {+
    +e.printStackTrace();+
    +}+
    +}+
    +}+
    +}+
    +}+
    CreateMethods.java:
    +package Ch07;+
    +import java.sql.*;+
    +public class CreateMethods+
    +{+
    +// A connection object to allow database callback+
    +static Connection m_conn = null;+
    +static Statement m_stmt;+
    +static CallableStatement m_callStmt = null;+
    +public static void main(String[] args)+
    +{+
    +try+
    +{+
    +String url = "jdbc:pointbase:server://localhost/pointbaseDB";+
    +String username = "PBPUBLIC";+
    +String password = "PBPUBLIC";+
    +m_conn = DriverManager.getConnection(url, username, password);+
    +doCreateProcedure();+
    +doInvokeProcedure();+
    +} catch (SQLException e) {+
    +e.printStackTrace();+
    +} finally {+
    +if (m_stmt != null) {+
    +try {+
    +m_stmt.close();+
    +} catch (Exception e) {+
    +e.printStackTrace();+
    +}+
    +}+
    +if (m_callStmt != null) {+
    +try {+
    +m_callStmt.close();+
    +} catch (Exception e) {+
    +e.printStackTrace();+
    +}+
    +}+
    +if (m_conn != null) {+
    +try {+
    +m_conn.close();+
    +} catch (Exception e) {+
    +e.printStackTrace();+
    +}+
    +}+
    +}+
    +}+
    +public static void doCreateProcedure() throws SQLException {+
    +// SQL statement to create a stored procedure+
    +String SQL_CREATE_PROC = "CREATE PROCEDURE PBPUBLIC.getCountry(IN P1 VARCHAR(30))"+
    " LANGUAGE JAVA"
    +" SPECIFIC getCountry"+
    " NO SQL"
    +" EXTERNAL NAME \"SampleExternalMethods::getCountry\""+
    " PARAMETER STYLE SQL";
    // Create a SQL statement
    m_stmt = m_conn.createStatement();
    // Execute the SQL
    m_stmt.executeUpdate(SQL_CREATE_PROC);
    // Close the statement
    //m_stmt.close();
    public static void doInvokeProcedure() throws SQLException {
    // Create SQL to invoke stored procedures
    String SQL_USE_PROC = "{ call getCountry(?) }";
    // Create a callable statement with three binding parameters
    m_callStmt = m_conn.prepareCall(SQL_USE_PROC);
    m_callStmt.setString(2, "CA");
    m_callStmt.executeQuery();
    // Close the callable statement
    //m_callStmt.close();
    }But I have the same error message that previously.
    I have read this note and I suppose that the problem is linked:
    If PointBase Server is run with the Java Security Manager, in the java policy file grant
    *’com.pointbase.sp.spPermission’ to the class that implements the external Java method.*
    An "spPermission" consists of a class name with no action. The class name is a name of a class
    that could be used in creating a Stored Procedure in PointBase. The naming convention follows
    the hierarchical property naming convention and that is supported by
    *"java.security.BasicPermission". An asterisk may appear by itself, or if immediately preceded*
    by ".", may appear at the end of the name, to signify a wildcard match. The name cannot
    contain any white spaces.
    Can you explain me what I must to do in order to solve this problem of spPermission.
    Thanks.

  • Calling Stored Procedure from Oracle DataBase using Sender JDBC (JDBC-JMS)

    Hi All,
    We have requirement to move the data from Database to Queue (Interface Flow: JDBC -> JMS).
    Database is Oracle.
    *Based on Event, data will be triggered into two tables: XX & YY. This event occurs twice daily.
    Take one field: 'aa' in XX and compare it with the field: 'pp' in YY.
    If both are equal, then
         if the field: 'qq' in YY table equals to "Add" then take the data from the view table: 'Add_View'.
         else  if the field: 'qq' in YY table equals to "Modify"  then take the data from the view table: 'Modify_View'.
    Finally, We need to archive the selected data from the respective view table.*
    From each table, data will come differently, means with different field names.
    I thought of call Stored Procedure from Sender JDBC Adapter for the above requirement.
    But I heard that, we cannot call stored procedure in Oracle through Sender JDBC as it returns Cursor instead of ResultSet.
    Is there any way other than Stored Procedure?
    How to handle Data Types as data is coming from two different tables?
    Can we create one data type for two tables?
    Is BPM required for this to collect data from two different tables?
    Can somebody guide me on how to handle this?
    Waiting eagerly for help which will be rewarded.
    Thanks and Regards,
    Jyothirmayi.

    Hi Gopal,
    Thank you for your reply.
    >Is there any way other than Stored Procedure?
    Can you try configuring sender adapter to poll the data in intervals. You can configure Automatic TIme planning (ATP) in the sender jdbc channel.
    I need to select the data from different tables based on some conditions. Let me simplify that.
    Suppose Table1 contains 'n' no of rows. For each row, I need to test two conditions where only one condition will be satisfied. If 1st condition is satisfied, then data needs to be taken from Table2 else data needs to be taken from Table3.
    How can we meet this by configuring sender adapter with ATP?
    ================================================================================================
    >How to handle Data Types as data is coming from two different tables?
    If you use join query in the select statement field of the channel then whatever you need select fields will be returned. This might be fields of two tables. your datatype fields are combination of two diff table.
    we need to take data only from one table at a time. It is not join of two tables.
    ================================================================================================
    Thanks,
    Jyothirmayi.

  • How to call stored procedure in remote database

    Hi:
    I have a stored procedure in Oracle 8i database A on server A. I would like to call a stored procedure in Oracle 8i database B on server B. Both servers are on the same network.
    Is there an easy way to accomplish this using PL/SQL?
    What's the "best practice" for this?
    Thanks for your help!
    Rob

    I simply want to make a call from a procedure on server A to an insert procedure on server B. The procedure which is on server B should execute on server B. Is this what I need?
    Thanks!
    I assume you want to initiate the procedure from server B and executed on server A. Is that right ?
    1. Create a database link on server B
    CREATE DATABASE LINK databaseA.world CONNECT TO username identified by password using 'DATABASEA';
    2. Create synonym for the procedure
    CREATE SYNONYM proc_on_databaseB for [email protected];
    3. Execute the procedure using the new synonym.
    HTH,
    Allwyn
    Hi:
    I have a stored procedure in Oracle 8i database A on server A. I would like to call a stored procedure in Oracle 8i database B on server B. Both servers are on the same network.
    Is there an easy way to accomplish this using PL/SQL?
    What's the "best practice" for this?
    Thanks for your help!
    Rob

  • DB adapter calling stored procedure and change database schema

    Hello,
    when I create DB adapter which call stored procedure I find that is reference to DB schema in JCA file. Other DB adapter operation (select, insert, delete) store only connection-factory location.
    What happend when I move procedure to another DB schema or rename DB schema?
    It is only about change SchemaName in JCA file?
    Thank you.

    It sounds excelent.
    I try it. Change JCA file and redeploy SCA of service.
    Next I change user in data source (password is the same for both schemas). Save and activate changes. Update deployment of DBAdapter.
    Select operation on service works but return data from old schema.
    Call stored procedure fail with exception:
    oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'delete' failed due to: Stored procedure invocation error. Error while trying to prepare and execute the NEW_SCHEMA.PKG_UTILS.SERVICE_REMOVE API. An error occurred while preparing and executing the NEW_SCHEMA.PKG_UTILS.SERVICE_REMOVE API. Cause: java.sql.SQLException: ORA-06550: line 1, column 7: PLS-00201: identifier 'NEW_SCHEMA.PKG_UTILS' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored Check to ensure that the API is defined in the database and that the parameters match the signature of the API. This exception is considered not retriable, likely due to a modelling mistake. To classify it as retriable instead add property nonRetriableErrorCodes with value "-6550" to your deployment descriptor (i.e. weblogic-ra.xml). To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff. All properties are integers. ". The invoked JCA adapter raised a resource exception.

  • Need Help in with Querying Stored Procedures from UCCX Database

    Hi All
    We are trying to build a custom reporting solution using a BI tool and for which we have provided the ODBC connectivity to the UCCX database to our SQL server.
    We have installed the ODBC drivers on our SQL server and made a connection to UCCX version 10.0 successfully. we are using the username 'uccxhruser' to connect to the DSN.
    We want to query the stored procedure sp_csq_activity from the Microsoft SQL Server Management Studio. When we add the Linked Server in the SQL Server, we are able to see the Data Tables and also query them using the select statement. However, we are not able to see any of the Stored procedures within the Linked Server Tab.
    Can someone guide us in the right direction as to how to go about the process. Is calling the stored proedure the right way or we need to query the individual tables as mentioned in the Database Schema Guide and then once the historical tables our there in our server , then build the report.
    Any help will be much appreciated.
    Regards
    Abhinav

    Hi,
    what happens if you try to execute the above SP? They should be accessible AFAIK.
    G.

  • Finding a stored procedure in another database

    Hello,
    I have a Java class that executes stored procedures. Problem is, some stored procedures are in different a whole different database than the others. When I try to cal the ones in another database I get an error stating that the SPs can't be found. How can I resolve this? I connect to the database using property files.
    Any help is appreciated.

    Uh...
    Maybe you should connect to the database where the stored procedures are, then?

  • Calling Stored Procedures from a database ( MySQL )

    Hello, I've been trying to get my stored procedures to work for more than a week now, I am able to connect to my database, register the output, but when it get's to the execute query line, the try statement drops out. Any Ideas, I tried using a resultset earlier, but have created a single value returning stored proc now.
    public static String sp01() {
            String returnedID2="21345";
            String returnedID="1";
            int rtid;
            try {
                Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/corrovu?user=root&password=Glancino");        
                CallableStatement cStmt = conn.prepareCall("{? = call sp3()}");
                returnedID="2"; //2 is returned
                cStmt.registerOutParameter(1, java.sql.Types.INTEGER);
                returnedID="3"; //3 is returned
                cStmt.execute();
                returnedID="4"; //4 fails to return !!!!
                rtid = cStmt.getInt(1);
                returnedID="5";
                if (returnedID == null){
                    return null;
                } else {
                    return returnedID;
            } catch(Exception e){
            return returnedID; //Note I had to insert this line to get the method working
        }If I type CALL sp3(); in the query editor, it returns '4' which is the value in the database.
    I don't know why it dies on the cStmt.execute(); Am I not pereparing the call correctly? I tried "? = CALL sp3();" as well to no avail.
    Thanks, looking forward to the replies, Once I have got this working, I will write up the correct methods to access stored procs's from MySQL.

    Thank you for the fast replies, I have seen these examples before and tried them, this metod is still crashing out when it hit's the execute() command. If you open a new project, insert a button, called button1, insert 2 text boxes called, txt1 & txt2, open up the java and insert this code in the relevent spots. To see where it fails, include the returnedID lines i've included in the comment lines.
    The stored procedure is simple, it just seraches a string and returns a single integer.
    DELIMITER $$;
    DROP PROCEDURE IF EXISTS `corrovu`.`sp3`$$
    CREATE PROCEDURE `sp3`()
    BEGIN
         SELECT diam FROM details WHERE PID = '0050003';
    END$$
    DELIMITER ;$$
    diam is '4' where PID is '0050003' so the txt1 should display 4 but it doesn't, this is really driving me crazy, I've probably spent more than 50 hours trying to get the stored proc working, I don't know what more to do. I've looked at hundreds of expamples and can't get any of them working.
    package spca;
    import com.sun.rave.web.ui.appbase.AbstractPageBean;
    import com.sun.rave.web.ui.component.Body;
    import com.sun.rave.web.ui.component.Form;
    import com.sun.rave.web.ui.component.Head;
    import com.sun.rave.web.ui.component.Html;
    import com.sun.rave.web.ui.component.Link;
    import com.sun.rave.web.ui.component.Page;
    import javax.faces.FacesException;
    import com.sun.rave.web.ui.component.Button;
    import com.sun.rave.web.ui.component.StaticText;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.CallableStatement;
    import java.sql.ResultSet;
    import java.sql.Types;
    public class Page1 extends AbstractPageBean {
        static int outputValue = 69;
        public static String sp01() {
            String returnedID2="21345";
            String returnedID="1";
            try {
                //The following line loads the driver (it work's to see include - returnedID="2";)
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                //This line connects to the database (it work's )- returnedID="3";
                Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/corrovu?user=root&password=Glancino");
                //This line prepares the call (apparantly work's, If i put a non-existant stored proc, this line fails)- returnedID="4";
                CallableStatement cStmt = conn.prepareCall("{?= call sp3()}");
                //This line registers the out paramaters (it apperntly works, If I insert incorrect values, it fails)- returnedID="5";
                cStmt.registerOutParameter(1, Types.INTEGER);
                //This line exit's the Try, I changed it as per the example, it still fails. I don't know what I'm doing wrong.- returnedID="6";
                boolean hadResults = cStmt.execute();
                //The rest of the code doesn't get parsed - returnedID="7";
                while (hadResults) {
                    ResultSet rs = cStmt.getResultSet();
                    hadResults = cStmt.getMoreResults();
                outputValue = cStmt.getInt(1); // index-based
                if (returnedID == null){
                    return null;
                } else {
                    return returnedID;
            } catch(Exception e){
            //I had to insert this following line to make this method work, this was not in the example as per these forums???
            return returnedID;
        public String button1_action() {
            txt1.setText(sp01());
            txt2.setText(""+outputValue);      
            return null;
    }Cheers, I hope someone can help me.

  • Execute a stored procedure on a database

    Hi,
    I want to execute a stored procedure on an oracle database. Therefore I use the open SQL step configured as follows:
    - option "statement requires parameters" is checked
    - on the advanced tab: Command Type = Stored Procedure
    After this step I use the Data Operation step with operation = Execute. Now, how can I set values for the parameters?
    Has anyone an example where I can see how the needed steps have to be configured?
    Thanks in advance
    Best regards
    Steffen

    Hi Steffen,
    Your sequence should have the following steps:
    1) Open Database
    2) Open SQL Statement
    3) Data Operation
    4) Close SQL Statement
    5) Close Database
    I am using a very basic stored procedure that doesn't really do anything:
    CREATE PROCEDURE MySP @myInput int AS SELECT * FROM myTable GO
    For step 2, your SQL Statement field should be the name of the stored procedure. In my example, it would simply by "MySP". Make sure you have the "Statement has parameters" field is checked.
    For step 3, select "Execute" as the Operation. Under the Column/Parameter field, you can insert all of your parameters. In my case, I just have one parameter. I can refer to it by index (1) or name ("myInput").
    Hope this helps!
    Allen P.
    NI

  • Stored Procedure for two databases

    Hi,
    How we will get the response from the stored procedure i.e in which way?
    Somebody can help me please.....
    Thanks & Regards
    Radhika

    Hi Radhika
    Refer this link ..it will help you
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/jdbcTOJDBC&
    Best Regards,
    Srikanth     
    Reward the useful answers and you will get one point yourself

  • Calling stored procedure of db2 database

    i'm quiet new to jdbc & db2.I have been successful in simple query actions between java + db2 but while using a simple SQL based stored procedure,the following error occured:
    COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver][DB2/NT] SQL1109N The specified DLL "DB2ADMIN.Proc1" could not be loaded.
    & was found out that my procedure was not successfully bulit which being:CREATE PROCEDURE DB2ADMIN.Proc1 ( IN id int,
    IN rise int )
    SPECIFIC DB2ADMIN.updatePrice
    LANGUAGE SQL
    -- SQL Stored Procedure
    P1: BEGIN
    UPDATE
    DB2ADMIN.ITEM
    SET ITEMID = id,
    RATE = rise;
    END P1
    Please put a light on how to tackle this problem...

    Hi Gopal,
    Thank you for your reply.
    >Is there any way other than Stored Procedure?
    Can you try configuring sender adapter to poll the data in intervals. You can configure Automatic TIme planning (ATP) in the sender jdbc channel.
    I need to select the data from different tables based on some conditions. Let me simplify that.
    Suppose Table1 contains 'n' no of rows. For each row, I need to test two conditions where only one condition will be satisfied. If 1st condition is satisfied, then data needs to be taken from Table2 else data needs to be taken from Table3.
    How can we meet this by configuring sender adapter with ATP?
    ================================================================================================
    >How to handle Data Types as data is coming from two different tables?
    If you use join query in the select statement field of the channel then whatever you need select fields will be returned. This might be fields of two tables. your datatype fields are combination of two diff table.
    we need to take data only from one table at a time. It is not join of two tables.
    ================================================================================================
    Thanks,
    Jyothirmayi.

Maybe you are looking for

  • How to Display Excel Report in Client machine  in Forms11g

    Hi All, we are running database in Linux server and separate Linux Application Server , But my question is how to display the data to Excel Report in the Client machine in Forms11g applications. Plesase suggest any method. Regards Venkatesulu Guniset

  • How do you tick (check) or untick (uncheck) multiple songs?

    Hi I'm having trouble checking & unchecking songs in my itunes music folder. I have managed to uncheck all 2000 odd songs but can't find a way of checking them all again without doing them one at a time which is slow & boring! Can anyone help??

  • How to install in diffrent drive

    Hi, How to install at diffent drive?

  • Direct access to the keyboard?

    Hi all - I'm having some trouble because I'm making an application that I want to run on all platforms. I'm creating it on OS X, but I want to have it run on Linux as well. The problem, which I'm sure at least some of you are aware, is that in Linux

  • How to remove old incrementals?

    Hi consider senario where I do backup level 0 sunday level 1 monday level tueday level 1 saturday level 0 sunday again .... i set rman retention to 7 days ( so I have one backup at a time) what happens on tuesday? will rman get rid of incremental tak