Using command-line util for wrapping SQL Server stored procedure

Hi,
The Database Adapter does not have native support for stored procedures in SQL Server. Hence, I intend to use the command-line utility that is described briefly in the DB Adapter guide, i.e. the thing that is invoked using "java oracle.tip.adapter.db.sp.artifacts.GenerateArtifacts <property file>".
Has anyone used this before? And did you have any success?
Any help appreciated.
Thanks, Sjoerd

Yet another correction ...
My JD is installed to D:\JDS10gSOA; so ...
I created a bat file with the following jars listed:
java -cp D:\JDS10gSOA\integration\lib\DBAdapter.jar;D:\JDS10gSOA\integration\lib\bpm-infra.jar;D:\JDS10gSOA\integration\lib\orabpel.jar;D:\JDS10gSOA\lib\xmlparserv2.jar;D:\JDS10gSOA\lib\xschema.jar;D:\JDS10gSOA\toplink\jlib\toplink.jar;D:\JDS10gSOA\integration\lib\connector15.jar;D:\JDS10gSOA\jars\sqljdbc.jar oracle.tip.adapter.db.sp.artifacts.GenerateArtifacts %1
Note the \jars\ folder I created and copied the MS jdbc driver in there; it's needed in a couple of other places as well.
A sample properties file:
ProductName=Microsoft SQL Server
DriverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
ConnectionString=jdbc:sqlserver://localhost\\SQLEXPRESS;databaseName=helloworlddb;user=hello;password=hello
ProcedureName=helloWorldProc
ServiceName=srv_helloWorldProc
DatabaseConnection=eis/DB/helloworlddb
Hope this helps.
I have to agree the document is very vague on this; no good script or anything from oracle on getting this done - even though it's an integral part of SOA in my opinion.
Regards

Similar Messages

  • OIM11g R1: Exporting Objects using command line utility

    Hi All,
    Is it possible to export/import OIM objects using command line utility (As per my requirement, I am not suppose to use the OIM Deployment Manager from UI)?
    I am looking for something like oimtool if provided OOTB by oracle.
    Regards,
    Sunny
    Edited by: 968494 on Nov 2, 2012 3:35 PM

    Sunny,
    What kind of objects do you want to export/import. I am asking because we have such command tool with Weblogic and OIM. Check this out:
    1-http://itnaf.org/2012/09/23/how-to-import-and-export-metadata-from-oim-mds/
    2-ttp://docs.oracle.com/cd/E14571_01/doc.1111/e14309/utils.htm
    I hope this helps,
    Thiago Leoncio.

  • How to call a sql server stored procedure from oracle

    Hi all,
    Please anybody tell me how to call a sql server stored procedure from oracle.
    I've made an hsodbc connection and i can do insert, update, fetch data in sql server from oracle. But calling SP gives error. when I tried an SP at oracle that has line like
    "dbo"."CreateReceipt"@hsa
    where CreateReceipt is the SP of sql server and hsa is the DSN, it gives the error that "dbo"."CreateReceipt" should be declared.
    my database version is 10g
    Please help me how can i call it... I need to pass some parameters too to the SP
    thanking you

    hi,
    thank you for the response.
    when i call the sp using DBMS_HS_PASSTHROUGH, without parameters it works successfully, but with parameters it gives the following error
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
    [Generic Connectivity Using ODBC][Microsoft][ODBC SQL Server Driver]Invalid parameter number[Microsoft][ODBC SQL Server Driver]Invalid Descriptor Index (SQL State: S1093; SQL Code: 0)
    my code is,
    declare
    c INTEGER;
    nr INTEGER;
    begin
    c := DBMS_HS_PASSTHROUGH.OPEN_CURSOR@hsa;
    DBMS_HS_PASSTHROUGH.PARSE@hsa(c, 'Create_Receipt(?,?)');
    DBMS_HS_PASSTHROUGH.BIND_VARIABLE@hsa(c,1,'abc');
    DBMS_HS_PASSTHROUGH.BIND_VARIABLE@hsa(c,2,'xyz');
    nr:=DBMS_HS_PASSTHROUGH.EXECUTE_NON_QUERY@hsa(c);
    DBMS_HS_PASSTHROUGH.CLOSE_CURSOR@hsa(c);
    end;
    Create_Receipt is the sp which requires two parameters.
    please give me a solution
    thanking you
    sreejith

  • How to run a SQL Server Stored Procedure

    I need to run a SQL Server Stored Procedure in answer, the stored procedure use a hash table (temporary table) and I nedd to pass a parameter to stored procedure
    anyone know if is it possible in OBIEE, if yes how.
    thank you
    max

    thank you, but I'm not understand what you mean. I need to run this command in answer "direct access database"
    exec storedprocedure 1,1,1
    if I run this I receive thi error:
    error : [nQSError: 16001] ODBC error state: S0002 code: 208 message: [Microsoft][ODBC SQL Server Driver][SQL Server]object name '#TempList' not valid.. [nQSError: 16002] Cannot obtain number of columns for the query result. (HY000).
    here is the code of stored procedure:
    ROC [dbo].[GetOrderListmax]
    @OrderList varchar(500)
    AS
    BEGIN
    SET NOCOUNT ON
    CREATE TABLE #TempList
    OrderID int
    DECLARE @OrderID varchar(10), @Pos int
    SET @OrderList = LTRIM(RTRIM(@OrderList))+ ','
    SET @Pos = CHARINDEX(',', @OrderList, 1)
    IF REPLACE(@OrderList, ',', '') <> ''
    BEGIN
    WHILE @Pos > 0
    BEGIN
    SET @OrderID = LTRIM(RTRIM(LEFT(@OrderList, @Pos - 1)))
    IF @OrderID <> ''
    BEGIN
    INSERT INTO #TempList (OrderID) VALUES (CAST(@OrderID AS int)) --Use Appropriate conversion
    END
    SET @OrderList = RIGHT(@OrderList, LEN(@OrderList) - @Pos)
    SET @Pos = CHARINDEX(',', @OrderList, 1)
    END
    END
    SELECT o.OrderID, CustomerID, EmployeeID, OrderDate
    FROM dbo.Orders AS o
    JOIN
    #TempList t
    ON o.OrderID = t.OrderID
    END

  • Converting SQL Server Stored Procedure to Oracle

    Hi there,
    I tried to use SwisSQL to convert my SQL Server stored procedure to Orcale without much success.
    Is there anyone who could help me out with this?
    My SQL Server Stored Procedure is:
    CREATE PROCEDURE [dbo].[SP_BackgroundCheckRequest]
         --MASTER Table
         @MASTER_ID int,
         @PERSONNEL_ID int = NULL,
    @DATE_OF_BIRTH datetime = NULL,
         @GENDER varchar(1) = NULL,
         @COUNTRY_OF_BIRTH varchar(3) = NULL,
    @TOWN_OF_BIRTH varchar(100) = NULL,
         @STATE_OF_BIRTH varchar(50) = NULL,
         @CHECK_CATEGORY varchar(10) = NULL,
         @CHECK_TYPE varchar(10) = NULL,
         @PRIORITY varchar(10) = NULL,
         @PRIORITY_REASON varchar(100) = NULL,
         @SCREENING_LEVEL nchar(1) = NULL,
         @POSITION nchar(50) = NULL,
         @REQUEST_SOURCE varchar(60) = NULL,
         --NAME_TYPE Table
         @NAME_TYPE varchar(5) = NULL,
         @FAMILY_NAME varchar(50) = NULL,
         @FIRST_NAME varchar(50) = NULL,
         @MIDDLE_NAME varchar(50) = NULL,
         @TITLE varchar(10) = NULL,
         @PREFFERED_NAME varchar(40) = NULL,
         @PREVIOUS_NAME varchar(140) = NULL,
         --ADDRESS_TYPE Table
         @ADDRESS_TYPE varchar(10) = NULL,
         @ADDRESS_LINE_1 varchar(30) = NULL,
         @ADDRESS_LINE_2 varchar(30) = NULL,
         @ADDRESS_LINE_3 varchar(30) = NULL,
         @COUNTRY varchar(3) = NULL,
         @SUBURB varchar(50) = NULL,
         @STATE varchar(50) = NULL,
         @POSTCODE varchar(15) = NULL,
         @START_DATE varchar(10) = NULL,
         @END_DATE varchar(10) = NULL,
         --LICENSE_TYPE Table
         @LICENSE_TYPE varchar(5) = NULL,
         @LICENSE_AGENCY varchar(15) = NULL,
         @LICENSE_NUMBER varchar(100) = NULL,
         @LICENSE_SIGHTED varchar(1) = NULL,
         --PHONE_TYPE Table
         @TELEPHONE_TYPE varchar(5) = NULL,
         @TELEPHONE_NUMBER varchar(20) = NULL,
         @MOBILE_TYPE varchar(5) = NULL,
         @MOBILE_NUMBER varchar(20) = NULL,
         @EXTENSION_TYPE varchar(5) = NULL,
         @EXTENSION_NUMBER varchar(20) = NULL,
         --PASSPORT_TYPE Table
         @PASSPORT_TYPE varchar(5) = NULL,
         @PASSPORT_NUMBER varchar(50) = NULL,
         @PASSPORT_COUNTRY varchar(3) = NULL,
         @PASSPORT_SIGHTED varchar(1) = NULL
    AS
    BEGIN TRANSACTION
    INSERT into MASTER (MASTER_ID, PERSONNEL_ID, DATE_OF_BIRTH, GENDER, COUNTRY_OF_BIRTH,
         TOWN_OF_BIRTH, STATE_OF_BIRTH, CHECK_CATEGORY, CHECK_TYPE, PRIORITY, PRIORITY_REASON,
         SCREENING_LEVEL, POSITION, REQUEST_SOURCE)
         VALUES (@MASTER_ID, @PERSONNEL_ID, @DATE_OF_BIRTH, @GENDER, @COUNTRY_OF_BIRTH,
         @TOWN_OF_BIRTH, @STATE_OF_BIRTH, @CHECK_CATEGORY, @CHECK_TYPE, @PRIORITY, @PRIORITY_REASON,
         @SCREENING_LEVEL, @POSITION, @REQUEST_SOURCE)
    IF @@ERROR <> 0
    BEGIN
         ROLLBACK
         RAISERROR ('Error inserting values into MASTER table!', 16, 1)
         RETURN
    END
    INSERT into NAME_TYPE (MASTER_ID,NAME_TYPE,FAMILY_NAME,FIRST_NAME,MIDDLE_NAME,TITLE)
         VALUES (@MASTER_ID,@NAME_TYPE,@FAMILY_NAME,@FIRST_NAME,@MIDDLE_NAME,@TITLE)
    IF @@ERROR <> 0
    BEGIN
         ROLLBACK
         RAISERROR ('Error inserting values into NAME_TYPE table!', 16, 1)
         RETURN
    END
    INSERT into ADDRESS_TYPE (MASTER_ID,TYPE,ADDRESS_LINE_1,ADDRESS_LINE_2,ADDRESS_LINE_3,
              COUNTRY,SUBURB,STATE,POSTCODE,START_DATE,END_DATE)
         VALUES (@MASTER_ID,@ADDRESS_TYPE,@ADDRESS_LINE_1,@ADDRESS_LINE_2,@ADDRESS_LINE_3,
              @COUNTRY,@SUBURB,@STATE,@POSTCODE,@START_DATE,@END_DATE)
    IF @@ERROR <> 0
    BEGIN
         ROLLBACK
         RAISERROR ('Error inserting values into ADDRESS_TYPE table!', 16, 1)
         RETURN
    END
    INSERT into LICENSE_TYPE (MASTER_ID,TYPE,AGENCY,NUMBER,SIGHTED_YN)
         VALUES (@MASTER_ID,@LICENSE_TYPE,@LICENSE_AGENCY,@LICENSE_NUMBER,@LICENSE_SIGHTED)
    IF @@ERROR <> 0
    BEGIN
         ROLLBACK
         RAISERROR ('Error inserting values into LICENSE_TYPE table!', 16, 1)
         RETURN
    END
    INSERT into PHONE_TYPE (MASTER_ID,TYPE,NUMBER)
         VALUES (@MASTER_ID,@TELEPHONE_TYPE,@TELEPHONE_NUMBER)
    IF @@ERROR <> 0
    BEGIN
         ROLLBACK
         RAISERROR ('Error inserting Telephone number into PHONE_TYPE table!', 16, 1)
         RETURN
    END
    IF ((@MOBILE_TYPE <> NULL) AND (@MOBILE_NUMBER <> NULL))
    BEGIN
         INSERT into PHONE_TYPE (MASTER_ID,TYPE,NUMBER)
              VALUES (@MASTER_ID,@MOBILE_TYPE,@MOBILE_NUMBER)
         IF @@ERROR <> 0
         BEGIN
              ROLLBACK
              RAISERROR ('Error inserting Mobile number into PHONE_TYPE table!', 16, 1)
              RETURN
         END
    END
    IF ((@EXTENSION_TYPE <> NULL) AND (@EXTENSION_NUMBER <> NULL))
    BEGIN
         INSERT into PHONE_TYPE (MASTER_ID,TYPE,NUMBER)
              VALUES (@MASTER_ID,@EXTENSION_TYPE,@EXTENSION_NUMBER)
         IF @@ERROR <> 0
         BEGIN
              ROLLBACK
              RAISERROR ('Error inserting Extension number into PHONE_TYPE table!', 16, 1)
              RETURN
         END
    END
    INSERT into PASSPORT_TYPE (MASTER_ID,NUMBER,COUNTRY,SIGHTED_YN)
         VALUES (@MASTER_ID,@PASSPORT_NUMBER,@PASSPORT_COUNTRY,@PASSPORT_SIGHTED)
    IF @@ERROR <> 0
    BEGIN
         ROLLBACK
         RAISERROR ('Error inserting values into PASSPORT_TYPE table!', 16, 1)
         RETURN
    END
    COMMIT

    First, a basic concept. That also illustrates how different Oracle is (and PL/SQL) from SQL-Server (and T-SQL).
    PL/SQL integrates two different languages. The PL language. The SQL language. It allows you to code SQL source code natively inside the PL language. The PL compiler is clever enough to do the rest - make calls to the SQL engine to create SQL cursors, bind PL variable values to bind variables in the SQL code. Etc.
    PL is a "proper" programming language. It is much like Pascal (it is based on Ada, a close family member of Pascal). It is nothing at all like T-SQL.
    Okay, now for the very basic rule for Oracle development.
    Maximize SQL. This means using the SQL language to crunch data. It is the "closest" to the data. It is designed and optimised for dealing with data. Do your data processing using SQL.
    Minimize PL/SQL. This means using the PL language not to crunch data, but to provide the conditional logic. Implement business rules. And then have the SQL language crunch the data as the data processing language.
    Attempting to directly translate T-SQL code into PL/SQL is flawed. It is like trying to make coffee with teabags. Yeah, the tea may have caffeine it, but it is not coffee.
    To do what that T-SQL script does, insert a row into a table, a typical PL/SQL equivalent will look as follows:
    create or replace procedure InsertMaster( masterRow master%rowtype ) authid definer is
    .. types and variables declared here
    begin
      -- masterRow is a record structure that matches the actual MASTER table
      .. apply business rules and validation to the data.. raising user exceptions as needed
      -- e.g. the POSITION column must be upper case
      masterRow.position := upper(masterRow.position);
      -- after the business logic and data validation we can add the row to the table
      -- (PL will make the INSERT call to the SQL engine)
      insert into master values masterRow;
    end;No commit. The caller does the business transaction. It needs to decide when to commit to maintain the integrity of the data in the database. It may need to do several more calls, before committing.
    With this approach, we can give the application schema (the caller) execute privs on this procedure. This procedure is defined with definer rights. This means it runs with the privs of owner of that procedure and MASTER table. It is trusted code. It does all the correct stuff to add a valid and checked row to the MASTER table. So we give the app schema execute privs on the procedure and no insert priv on the MASTER table.
    The only way the caller can add row to the MASTER table is via this trusted procedure of ours.
    And this is a typical approach in Oracle - using the PL/SQL (both PL language and SQL language) code to create an interface to a logical database in Oracle. Abstracting the complexities of SQL from the caller. Moving business and validation into PL. Allowing us the flexibility of modifying business and validation logic, without touching a single byte of caller/client code. Allowing us to manage and tune SQL performance without dealing with (badly designed and coded) SQL from a client - as the SQL resides in PL/SQL packages and procedures and functions.

  • Can a SQL Server stored procedure call an SAP function module?

    Can a SQL Server stored procedure call an SAP function module.? The stored procedure will be called via a trigger when data records are added to a Z table.

    You have two options:
    - the other software can use the RFC SDK and call directly in the system
    - the other software can use a database connect
    Markus

  • Soft-restart of Java node by  using command line utility

    Hello,
    Could anyone advise whether there is a way to soft-restart the java node by using a command line utility (if there is one)?
    I would like to script to run in unix.
    Kind regards,
    Murad.

    Thank you for all your reply.
    Does Jcmon issue soft-restart?
    We have problem with Veritas Cluster. When there failover occurs, Java nodes appears to be online when we check from SMICM, but in fact it looses connection to the central instance. We have to issue a soft-restart for each java node to create connection again. It is a known bug and this only can be fixed by using replicated enqueue server. This only available in SP, which we can not apply right now. What I want to do is to create a script to automate the soft-restart which will be run just after failover.
    Thanks,
    Murad

  • Using Command Line Tool for Linux

    I have to use the command lines of Linux for SCM commands(like repcmd, set workarea, checkin etc...)
    should I have to install something?
    I have documentation for using the oracle repository command line Toll for Windows and Unix, but I didn't found anything about using the oracle repository command line Toll for Linux.

    JDeveloper runs excellent on Linux and is supposed to be able to use the repository, but that's a GUI...

  • Can I retrieve a result set from Oracle and then incorporate that result set into my main SQL Server Stored Procedure?

    So I have a chunk of data that only resides in Oracle. So I need to capture that information from Oracle. Now before you get over zealous, I did try with an OPENQUERY and it took FOREVER! And I don't know why the OPENQUERY took FOREVER but if I run the same
    query directly against Oracle it runs very quickly...like 20 seconds.
    So now I'm wondering...can I build a dataset in my SSRS Report that uses an Oracle Data source and an Oracle Stored Procedure in its Dataset that I'll create to aggregate this subset of data and then utilize its result set back in my main reporting
    Dataset that will utilize SQL Server? And how can I do that? Can I make my main Dataset reference, say, a #TemporaryTable that is created from my Oracle Dataset in its
    I'll continue to Google a few things as I await your review and hopefully a reply.
    Thanks in advance for your help.

    Hi ITBobbyP,
    According to your description you want to use data from a Oracle data source into a DataSet which retrieving data from SQL Server. Right?
    In Reporting Services, we can have multiple data sources in one project pointing to different database. And we can use separated dataset to retrieve data from different data source. However, it's not supported to combine the two datasets together
    directly. We can only use Lookup(), LookupSet() function to combine fields from different dataset into one tablix when there are common columns between two datasets. This is the only way to make tow result sets together in SSRS.
    Reference:
    Lookup Function (Report Builder and SSRS)
    LookupSet Function (Report Builder and SSRS)
    Best Regards, 
    Simon Hou
    TechNet Community Support

  • SQL Server Stored Procedures

    Is there a way of firing up SQL Server stroed procedures from
    Flash 8?
    If so could someone explain how to do it please, as I would
    like to pass parameters from choices made via drop down lists
    (populated from xml pages) to query a SQL Server 2000 database.
    Any help appreciated.
    Thanks

    Yes, I understand. But Flash doesn't talk directly to your
    SQL API.
    The SQL interface is only available through ASP (in your
    case, or any number of server-side technologies). That's why you
    use getUrl() (or other http request) to send data to an ASP script
    which then executes the SQL statement 'execute <blah>
    <blah> <blah>'.
    You then take the results of that SQL, format it, and return
    something to Flash all as part of the one and only HTTP request.
    Does this make sense?

  • APEX Export using command line utility....

    Hi All,
    Just a question about the command line export utility for HTMLDB. It works great for exporting the application itself, is there any way to get it to export the application's CSS as well as any files such as javascript files etc...?
    Cheers, Henry

    There is no easy way to do this in Apex 2.0.
    The upcoming 2.2 release (due out in the next couple of months) has a full fledged deployment system (including table create DDL, files, images and seed data), all in a single SQL file. See http://apex.oracle.com/i22/doc/deployment_how.htm#CHDEAGDI

  • Errors when using the Call statement for MS SQL Server

    I've tried executing a Stored Procedure using the Call method of Portal 2 Go. But it gets an internal error b/c of it. Any Ideas why and how to resolve?

    Hello,
    Which version of SAP BOBJ XI3.1 you are using?
    What I am aware is BEGIN_SQL was very well working for SQLServer2005 in case of ODBC connection.
    Can you try one thing for SQLServer2008 have a Native driver installed on your client machine and use ODBC connection rather than OLEDB connection.
    If that works fine, its good
    Otherwise you can raise a message for resolving this problem with the support team.
    Thanks,
    Vivek

  • Set date as MM/dd/yyyy as in parameter for SQL Server stored procedure

    I have string date in MM/dd/yyyy .
    My requirement is to send date as in parameter to stored procedure in format MM/dd/yyyy .
    CallableStatement cstmt=null;
    cstmt = connection.prepareCall("{......
    How this to be done .I am Using SQL server.
    If i do like below data field is not updated by my code.
    cstmt.setTimestamp
    cstmt.setDate
    But if procedure is executed from SQL Query Anylaxer procedure is updating

    Hi,
    The format that appears by Default for date printing in the List is picked from SU01 parameters or SU3
    You can change the defaults by going into ur system profile.
    Su01 - Change - Go into Defaults tab.
    U can see various details like Start Menu, Logon lamguage, Decimal notation and date format. Choose the format u want and save .
    But the Date Format Is not reflected just by changing the format, you need to Log Off and Log In again to see the changed format in the output.
    also see the link
    http://web.mit.edu/sapr3/docs/webdocs/getstarted/gsSETTINGS.html
    Hope this helps.
    Thanks
    Ruchika

  • How to use lexical parameters with Sql Server Stored Procedure?

    Hi,
    I'm developing a BI Publisher report on a sql server database. I need to execute a stored procedure to dynamically build the query by replacing the lexical parameters with the values of varaibles of the stored procedure. With Oracle stored procedures, I have used data template and had reference the varaiable in SP by prefixing it with '&'.
    It doesn't work if I try to do the same thing with SQL server. Is there anyone who has come across the similar situation? Please let me know if anyone has got any ideas...
    Thanks in Advance
    Rag

    TopLink currently doesn't support multiple ResultSets. Multiple ResultSets support is considered for a future release.

  • SQL Server Stored Procedure to Oracle

    Hi All,
    I have a store procedure in SQL Server(2005 onwards)...I need to convert that in Oracle. As I am new to Oracle. Please guide me.
    I have two tables MetaDatabase and MetaEntity. The store procedure loads the MetaDatabase and MetaEntity based on MetaDatabase...As of now it is hardcoded in SP...
    MetaDatabase
    CREATE TABLE MetaDatabase
    ID INT NOT NULL,
    Alias VARCHAR(64) NOT NULL,
    VersionMajor smallint NOT NULL,
    VersionMinor smallint NOT NULL,
    VersionRevision smallint
    INSERT INTO MetaDatabase VALUES(1, 'DB1', 1, 1, 1);
    INSERT INTO MetaDatabase VALUES(2, 'DB1', 1, 1, 2);
    INSERT INTO MetaDatabase VALUES(3, 'DB2', 1, 2, 1);
    MetaEntity
    CREATE TABLE MetaEntity
    ID INT NOT NULL,
    MetaDatabaseID INT NOT NULL,
    Name VARCHAR(64) NOT NULL
    INSERT INTO MetaEntity VALUES(1, 1, 'TABLE11');
    INSERT INTO MetaEntity VALUES(2, 1, 'TABLE12');
    INSERT INTO MetaEntity VALUES(3, 2, 'TABLE21');
    INSERT INTO MetaEntity VALUES(4, 2, 'TABLE22');
    INSERT INTO MetaEntity VALUES(5, 3, 'TABLE31');
    INSERT INTO MetaEntity VALUES(6, 3, 'TABLE32');Here is the SP as of now I am loading 2 MetaDatabase out of 3.
    CREATE Procedure myProc
    AS
         DECLARE @tmpDictionaries  TABLE ( Alias varchar(64),
                                          VersionMajor smallint,
                                          VersionMinor smallint,
                                          VersionRevision smallint )
         DECLARE @tmpMetaDatabase  TABLE ( ID int PRIMARY KEY )
         DECLARE @tmpMetaEntity    TABLE ( ID int PRIMARY KEY )
        /* Load these 2 MetaDatabase */
        INSERT INTO @tmpDictionaries (Alias,VersionMajor,VersionMinor,VersionRevision) VALUES ('DB1',1,1,1)
        INSERT INTO @tmpDictionaries (Alias,VersionMajor,VersionMinor,VersionRevision) VALUES ('DB2',1,2,1)
        /* Make sure that all passed in dictionaries actually exist */
        IF (SELECT COUNT(*) FROM @tmpDictionaries t WHERE NOT EXISTS(SELECT ID FROM MetaDatabase md WHERE md.Alias=t.Alias AND md.VersionMajor=t.VersionMajor AND md.VersionMinor=t.VersionMinor AND md.VersionRevision=t.VersionRevision)) > 0 BEGIN
          RAISERROR ('Not all dictionaries requested exist', 16, 1) WITH SETERROR
          RETURN
        END
        /* remember the MetaDatabase records */
        INSERT INTO @tmpMetaDatabase    SELECT ID FROM MetaDatabase md  WHERE EXISTS(SELECT *  FROM @tmpDictionaries t  WHERE md.Alias=t.Alias AND md.VersionMajor=t.VersionMajor AND md.VersionMinor=t.VersionMinor AND md.VersionRevision=t.VersionRevision)
        /* remember all related MetaEntity records */
        INSERT INTO @tmpMetaEntity      SELECT ID FROM MetaEntity me    WHERE EXISTS(SELECT ID FROM @tmpMetaDatabase t  WHERE t.ID=me.MetaDatabaseID)
        /* return all MetaDatabase */
        SELECT md.* FROM MetaDatabase md WHERE EXISTS(SELECT ID FROM @tmpMetaDatabase WHERE ID=md.ID)
        /* return all related MetaEntity records */
        SELECT me.* FROM MetaEntity me WHERE EXISTS(SELECT ID FROM @tmpMetaEntity WHERE ID=me.ID)Here is the output I get..It returns 2 resultsets one for each SELECT in SP.
    EXEC myProc
    1     DB1     1     1     1
    3     DB2     1     2     1
    1     1     TABLE11
    2     1     TABLE12
    5     3     TABLE31
    6     3     TABLE32I need same in Oracle..where I can parse the resultset returned from SP. Any help will be greatly appreciated.
    Edited by: [email protected] on Jun 10, 2010 2:34 PM

    [email protected] wrote:
    I have a store procedure in SQL Server(2005 onwards)...I need to convert that in Oracle. Not really a good idea - as T-SQL has very little in common with PL/SQL.
    PL/SQL is two languages:
    - a procedural language called Programming Logic - which has its roots in the Ada and Pascal family of procedural languages.
    - the SQL language.
    These are tightly integrated to allow you to use SQL natively inside PL. In other words, you can mix SQL source inside PL source code, reference PL variables in SQL source and the PL compiler and run-time is clever enough to know what code is PL and what code is SQL and how to glue the SQL into the PL.
    Bottom line - PL is not a macro/scripting language for running SQL. It is equivalent to to Java, C#, Visual Basic and others ito features and how one designs and uses the language.
    So your question of how to covert a T-SQL proc to PL/SQL is equivalent of asking how to change a T-SQL proc to C/C++ using the Pro*C (embedded SQL) compiler.
    So please - forget any notion that PL/SQL is like T-SQL. Or even that Oracle is at all like SQL-Server. Oracle is "+that darn good+" not because it emulates SQL-Server.. but because it is not like SQL-Server. It is the differences in the feature set of Oracle from SQL-Server that sells Oracle.
    I need same in Oracle..where I can parse the resultset returned from SP. Any help will be greatly appreciated.Oracle does not work this way. There are also no "result sets" in terms of a temporary data set that's created in the server and stored in memory. This type of approach does not scale if you have a 1000 users all running the same application code and all attempting to create "result sets" in server memory at the same time.
    The norm for client-server code using PL/SQL as the server side interface into database data, is for the PL/SQL code to create a SQL cursor and return a pointer (called a reference cursor handle or simple a reference cursor) to the client.
    The client (e.g. VB/Java/C#/Delphi/etc) can then fetch data from the SQL cursor (a "program" in server memory that finds and retrieves the relevant rows).
    To understand and "enjoy" Oracle, one needs to empty one's cup of SQL-Server/DB2/Informix/whatever in order to fill that cup with the Oracle brew. Only then can one really taste and enjoy Oracle. So, think twice before assuming Oracle is like SQL-Server and PL/SQL is like T-SQL. You will save yourself a lot of frustration, wasted effort, and run into fewer (very hard and very painful) brick walls as a result.

Maybe you are looking for

  • Problem with whfhost.js when using Search in WebHelp

    Running RH 10 to generate and publish WebHelp, if I open the help directly from a browser, the Search function is fine. However, the application using the help opens it in a separate tab within its window. When I try to search for a string I know is

  • Video quality of Screen Captures

    I was wondering if anyone else was experiencing poor video quality when using the Screen Capture feature? My image quality is so poor that you can't read any of the text that appears on the screen. Is there anyway to tweak with the settings to improv

  • Managing dual monitor with multiple desktops

    After updating to Lion, I set my macbook up with a few different desktops so I could easily swipe between them instead of searching for the windows I needed.  I just set up a second monitor to my mac and noticed that anytime I swipe to a different de

  • I am getting these error messages

    I need some help resolving the issues with C++ and some programs not updating. Thanks

  • Warning while activating the z-table.

    Hi, I have created the z-table but when I try to activate it ... I get a warning message "Key field COUNTER has num. type INT4: Buffering not possible, Transport restricted "... In the technical settings I have already clicked the radiobutton Bufferi