Stored Procedure to filter non-digits of data

Hi,
Im trying to write an Oracle Procedure to Filter the non-digits from a database stored value.
(i.e :
phone number - 123-45/657-32
should look like,
123456732 after it has been processed. )
Im getting the phone number from the user's end(which contains only digits) and it should be compared with the database stored phone numbers. But the phone numbers are stored in different formats(like, 123/6784562 , (123)-6782347 ..). I need to eliminate those non-digit characters and do a right search.
Here is my code,
CREATE OR REPLACE PROCEDURE STANDADIZE_PHONE_NUM(PHONE_NUM IN varchar2)
as phn varchar2(15);
BEGIN
SELECT PHONE INTO phn FROM COMPANY
WHERE
PHONE IS NOT NULL
AND
length(translate(PHONE,'0123456789','')) > 0
AND PHONE=PHONE_NUM ;
END;
Im getting errors when i try to run this code. It says that the parameter PHONE_NUM is not declared. Im completly new to Oracle and I might have done some small mistake or I might in the wrong approach to do so.
Can anybody help me with this???
Thanks.

Hi,
You can filter non-digits like this:
SQL>
SQL>SELECT REPLACE(TRANSLATE('123!@#456$%^789&*(0)','!@#$%^&*()','~~~~~~~~~~'),'~') FROM DUAL;
REPLACE(TR
1234567890
1 row selected.
SQL>Regards

Similar Messages

  • Writing a stored procedure to import SQL Server table data into a Oracle table

    Hello,
    As a new DBA I have been tasked with writing a stored procedure to import SQL Server table data into an Oracle table. I have been given many suggestions on how to do it from SQL Server but I I just need to write a stored procedure to run it from the Oracle side. Suggestions/guidance on where to start would be greatly appreciated! Thank you!
    I started to write it based on what I have but I know this is not correct :/
    # Here is the select statement for the data source in SQL Server...
    SELECT COMPANY
    ,CUSTOMER
    ,TRANS_TYPE
    ,INVOICE
    ,TRANS_DATE
    ,STATUS
    ,TRAN_AMT
    ,CREDIT_AMT
    ,APPLD_AMT
    ,ADJ_AMT
    ,TRANS_USER1
    ,PROCESS_LEVEL
    ,DESCRIPTION
    ,DUE_DATE
    ,OUR_DATE
    ,OUR_TIME
    ,PROCESS_FLAG
    ,ERROR_DESCRIPTION
      FROM data_source_table_name
    #It loads data into the table in Oracle....   
    Insert into oracle_destination_table_name (
    COMPANY,
    CUSTOMER,
    TRANS_TYPE,
    INVOICE,
    TRANS_DATE,
    STATUS,
    TRANS_AMT,
    CREDIT_AMT,
    APPLD_AMT,
    ADJ_AMT,
    TRANS_USER1,
    PROCESS_LEVEL,
    DESCRIPTION,
    DUE_DATE,
    OUR_DATE,
    OUR_TIME,
    PROCESS_FLAG,
    ERROR_DESCRIPTION)
    END;

    CREATE TABLE statements would have been better as MS-SQL and Oracle don't have the same data types.
    OUR_DATE, OUR_TIME will (most likely) be ONE column in Oracle.
    DATABASE LINK
    Personally, I'd just load the data over a database link:
    insert into oracle_destination_table_name ( <column list> )
    select ... <transform data here>
    from data_source_table@mssql_db_link
    As far as creating the database link from Oracle to MS-SQL ... that is for somebody else to answer.
    (most likely you'll need to use an ODBC driver)
    EXTERNAL TABLE
    If the data from MS-SQL is in a CSV file, just use and external table.
    same concept:
    insert into oracle_destination_table_name ( <column list> )
    select ... <transform data here>
    from data_source_external_table
    MK

  • Sending data to mssql stored procedure that accepts variable of text  data

    Hi all
    i have a stored procedure in mssql 2000 whole input parameter is of type text
    how can i send data of type string from java class while calling storedprocedure using callable statement
    if ui use setString() function it gives an exception that data will be trunctated
    com.microsoft.sqlserver.jdbc.SQLServerException: String or binary data would be truncated.
         at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
         at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
         at com.microsoft.sqlserver.jdbc.SQLServerStatement.sendExecute(Unknown Source)
         at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecute(Unknown Source)
         at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(Unknown Source)
         at com.clearcube.util.DMLLayer.processClientRequest(DMLLayer.java:49)
         at com.clearcube.discovery.PushDiscoveryHandler.init(PushDiscoveryHandler.java:90)
         at com.clearcube.discovery.PushDiscoveryController$1.run(PushDiscoveryController.java:113)
         at java.util.TimerThread.mainLoop(Unknown Source)
         at java.util.TimerThread.run(Unknown Source)
    c
    if any one have solution to this problem plz reply me

    my stored procedure accepts input of type text
    i use text type becouse nvarchar is not enough to
    place data.
    and i want to send data that is greater than the
    length of varcharUnder setString in the API:
    "The driver converts this to an SQL VARCHAR or LONGVARCHAR value (depending on the argument's size relative to the driver's limits on VARCHAR values) when it sends it to the database."
    I am not sure what you should use then? Maybe setCharacterStream?

  • JCA Database adapter - stored procedure xa or non xa datasource

    Hi
    I have a quick question about datasources. Does the database adapter support both xa and non xa? I am currently running in non xa I really do not need any xa functionality, but I am experiencing some calls to the database that takes a very long time. Might be an issue with the database tuning, but trying to cover all the bases.
    Have searched quite a lot on it, but cant find anything, so I hope some of you know.
    Thanks in advance.
    /Øyvind

    Does the database adapter support both xa and non xa? Yes, it supports both.
    but I am experiencing some calls to the database that takes a very long time. May be database is slow or data-source is not fine tuned. Does it happen under heavy load? What is the independent normal execution time and how much it is taking actually when you use DB adapter?
    Regards,
    Anuj

  • Web Service receives no data from Stored Procedure call.

    Issue: When calling a Stored Procedure from a Web Service no data is returned.
    Lead up: I can call the SP 100 times a day for 3-4 days then for some reason the Web Service no longer get the data from SQL. I have ran a trace and I can see the SP running though all of its steps and returning the data, but the Web Service
    is not getting it.
    Fix: None yet.
    Work around: Before the Web Service calls the SP, I am sending an SP_Recompile to the SP in question. For now this seems to have resolved the issue.
    Detail: 
    1. SP is querying data from another DB on the same server.
    2. SP is storing query data in Temp Tables.

    Hello,
    Does your Stored Procedure have parameters? If so, the issue may be cause by parameter sniffing. Please refer to the following blog about Paraemeter Sniffing:
    http://www.sommarskog.se/query-plan-mysteries.html
    The recommended fix for most situations is to not use parameters directly in queries, but rather store them into local variables and then use those variables in the queries.
    Regards,
    Fanny Liu
    If you have any feedback on our support, please click here.
    Fanny Liu
    TechNet Community Support

  • HELP: Can't Pass Parameters w/Stored Procedure as Data Connection

    I'm working on using an existing employment application in PDF format, and I want the form fields to be prepopulated with the user's specific data.
    I'd like is so that when a user clicks a link (like www.mysite.com/empapp/empapp.pdf?UserID=5), a dynamic PDF document will open up and that user's data will be populated inside of the form fields by using that user's "UserID" variable/parameter that was passed in the querystring.
    I've tried a stored procedure that contains the following select statement:
    SELECT * FROM tblEmpApp WHERE UserID = @UserID
    I've also tried entering this select statement manually into the box instead of using a stored procedure without success. When I try to use the stored procedure, I receive this error:
    Stored procedure "spEmpApp" has non-optional parameters.
    How can I set the PDF doc up to populate the form fields based on that passed parameter in the querystring???
    ******************PLEASE HELP!!!******************

    had this same issue.  following works for me.
    -create a dataconnection to the db with a random query to the table.
    -just clone the dataconnection
         oDConn = xfa.sourceSet.DataConnection.clone(1);
    -change the query attribute to the stored procedure
         oDConn.resolveNode("#command").query.select.value = "exec spEmpApp 'parameter'"
    -open the cloned data connection
         oDconn.open();

  • How to Insert date in 'DD/MM/YYYY' format in oracle using stored procedure?

    Hi
    How to Insert date in 'DD/MM/YYYY' format in oracle using stored procedure?
    This is my Input data.
    11/25/2007.
    By using below query, it is inserted into database.
    sql>Insert into tblname values(to_date('11/25/2007','MM/DD/YYYY'));
    But using stored procedure, the same query is not running.
    It shows error like
    ORA-01843: not a valid month ORA-06512: at line 1
    Procedure:
    create or replace procedure Date_Test(datejoin in DATE) is
    begin
    insert into datetest values(to_date(datejoin,'MM/DD/YYYY'));
    end Date_Test;
    I had used 'nls_date_language = american' also.
    Prcodeure is created but not worked in jsp. The same error is thrown.
    Pls provide a solution

    This might help you....
    SQL> Create Table DateTest(col1 Date);
    Table created.
    Elapsed: 00:00:00.00
    SQL> create or replace procedure Date_Test(datejoin in DATE) is
    2 begin
    3 insert into datetest values(to_date(datejoin,'MM/DD/YYYY'));
    4 end ;
    5 /
    Procedure created.
    Elapsed: 00:00:00.00
    SQL> exec Date_Test('11/25/2007');
    BEGIN Date_Test('11/25/2007'); END;
    ERROR at line 1:
    ORA-01843: not a valid month
    ORA-06512: at line 1
    Elapsed: 00:00:00.00
    SQL> exec Date_Test(To_Date('11/25/2007','mm/dd/yyyy'));
    BEGIN Date_Test(To_Date('11/25/2007','mm/dd/yyyy')); END;
    ERROR at line 1:
    ORA-01843: not a valid month
    ORA-06512: at "CTBATCH.DATE_TEST", line 3
    ORA-06512: at line 1
    Elapsed: 00:00:00.00
    SQL> create or replace procedure Date_Test(datejoin in DATE) is
    2 begin
    3 insert into datetest values(datejoin);
    4 end ;
    5 /
    Procedure created.
    Elapsed: 00:00:00.00
    SQL> exec Date_Test(To_Date('11/25/2007','mm/dd/yyyy'));
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.00
    SQL> Select * from DateTest;
    COL1
    25-NOV-07
    Elapsed: 00:00:00.00
    SQL> create or replace procedure Date_Test(datejoin in VarChar2) is
    2 begin
    3 insert into datetest values(to_date(datejoin,'mm/dd/yyyy'));
    4 end ;
    5 /
    Procedure created.
    Elapsed: 00:00:00.00
    SQL> exec Date_Test('11/25/2007');
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.00
    SQL> select * from DateTest;
    COL1
    25-NOV-07
    25-NOV-07
    Elapsed: 00:00:00.00
    SQL>

  • How to fetch data to APEX Report using stored procedure?

    hi all,
    i am making a report in APEX. user selects two dates and clicks GO button - i have a Stored Procedure linked to that result region so Stored Procedure gets called.
    my stored procedure does the following -
    using specified dates (IN) i do query and put data into a table (this table has been created only for this report) -
    i want to show all these data i entered into the table on my APEX report in the same procedure call. can i use ref cursor to return? how to do that?
    currently, i use another button in APEX which basically fetches all data from table. basically, user clicks one button to generate report and then another button to get report. which is not desirable at all :(
    i m using APEX      3.1.2.00.02 and Oracle 10 database.
    pls let me know if you need further clarification of the problem. thanks in advance.
    regards,
    probashi
    Edited by: porobashi on May 19, 2009 2:53 PM

    Thanks Tony.
    I am not sure what you meant by >> change the report to be based off of a query returning sql statement, no need to keep that table around.... >>
    Here's my stored procedure
    create or replace
    PROCEDURE ABC_PROC (
    START_DATE IN DATE,
    END_DATE IN DATE
    AS
    RULE_REC MTG_OFFICER_FORECAST%ROWTYPE;
    TYPE REF_CURSOR IS REF CURSOR;
    TCUR REF_CURSOR;
    BEGIN
    DELETE FROM ABC_REPORT;
    OPEN TCUR FOR
    SELECT ABC_FORECAST.*
    from MTG_OFFICER_FORECAST , MTG_USERS
    WHERE MTG_OFFICER_FORECAST.NBR_OFFICER = MTG_USERS.NBR_OFFICER AND
    MTG_OFFICER_FORECAST.NBR_INSTITUTION = MTG_USERS.NBR_INSTITUTION;
    LOOP
    FETCH TCUR INTO RULE_REC;
    EXIT WHEN TCUR%NOTFOUND;
    INSERT INTO ABC_REPORT( NBR_OFFICER, OFFICER_NAME, FORECAST_NBR_LOANS, FORECAST_LOAN_AMT, FORECAST_FEES,
    ACTUAL_NBR_LOANS, ACTUAL_LOAN_AMT, ACTUAL_FEES, RATIO_NBR_LOANS, RATIO_LOAN_AMT, RATIO_FEES, NBR_INSTITUTE )
    VALUES ( RULE_REC.NBR_OFFICER, RULE_REC.NAME_LOAN_OFFICER, RULE_REC.NBR_LOANS, RULE_REC.AMT_LOAN, RULE_REC.AMT_FEES,
    ACTUAL_NBR_LOANS, ACTUAL_LOAN_AMOUNT, ACTUAL_FEES, SUCCESS_RATIOS_NBR_LOANS_PERC, SUCCESS_RATIOS_LOAN_AMT_PERC, SUCCESS_RATIOS_FEES_PERC, RULE_REC.NBR_INSTITUTION );
    END LOOP;
    CLOSE TCUR;
    END ABC_PROC;
    Thanks,
    Probashi
    Edited by: porobashi on Jun 2, 2009 11:43 AM

  • Inserting data using stored procedure

    Using SQL Server Express 2014, I'm creating a stored procedure to accept parameters and convert data from a staging table to a production table. The parameters specify the table names and a field to lookup in another table. This is the first stored procedure
    I've tried to create by myself though and I'm basing it on a guide. Here's what I've got so far:
    CREATE PROCEDURE [dbo].[stp_UpdateAggregatePerf]
    @prod_tbl NVARCHAR(250), @stg_tbl NVARCHAR(250), @customer NVARCHAR(20)
    AS
    BEGIN
    DECLARE @p NVARCHAR(250), @s NVARCHAR(250), @c NVARCHAR(20), @cid int, @sql NVARCHAR(MAX)
    SET @p = @prod_tbl
    SET @s = @stg_tbl
    SET @c = @customer
    SET @cid = 'SELECT [dbo].[Customers].[CustomerID]
    FROM dbo.customers
    WHERE [dbo].[Customers].[CustomerName] LIKE ' + @c
    SET @sql = 'INSERT INTO ' + @prod_tbl + '
    SELECT CONVERT (datetime,TimeIndex,103) AS TimeIndex,
    CONVERT(decimal(10,3),user_reads,3) AS Reads,
    CONVERT(decimal(10,3), user_writes,3) AS Writes,
    CONVERT(decimal,10,3),total_transfers,3) AS Total,
    CONVERT(decimal(10,3),cp_reads,3) AS CPReads,
    SUBSTRING(AggregateName,1,25),
    SUBSTRING(ControllerName,1,25),
    SUBSTRING(@cid,1,25)
    FROM' + @stg_tbl
    EXEC sp_executesql @sql
    SET @sql = 'DROP TABLE' + @stg_tbl
    EXEC sp_executesql @sql
    END
    So it should accept the parameters, take the customer name parameter and look up the customer ID field from another table to use in the last column, then generate and run the INSERT INTO statement to convert and transfer data, then drop the staging table.
    I'm not sure how to go about using the INSERT statement with variables though, or even if I'm concatenating the string together correctly.
    Here's my CREATE statements for the tables:
    prod table:
    CREATE TABLE [dbo].[AggregatePerf](
    [AggrPerfID] [int] IDENTITY(1,1) NOT NULL,
    [AggregateName] [varchar](25) NOT NULL,
    [TimeIndex] [datetime] NOT NULL,
    [Reads] [decimal](10, 3) NOT NULL,
    [Writes] [decimal](10, 3) NOT NULL,
    [Total] [decimal](10, 3) NOT NULL,
    [CPReads] [decimal](10, 3) NOT NULL,
    [ControllerName] [varchar](25) NOT NULL,
    [CustomerID] [varchar](10) NOT NULL,
    CONSTRAINT [PK_AggregatePerf] PRIMARY KEY CLUSTERED
    [AggrPerfID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    Staging:
    CREATE TABLE [dbo].[$tablename] (
    [TimeIndex] VARCHAR(100)
    , [user_reads] VARCHAR(100)
    , [user_writes] VARCHAR(100)
    , [cp_reads] VARCHAR(100)
    , [total_transfers] VARCHAR(100)
    , [AggregateName] VARCHAR(100)
    , [ControllerName] VARCHAR(100)
    The staging table is generated from PowerShell to import CSVs but I'm past that stage of the project now. I hope you can help  me get an understanding here as once I wrap my around one table I can apply the same technique to others.
    Thanks in advance
    Adam

    Why do you provide a tables as a parameters? I think you may avoid using dynamic sql and simple use a static one.
    Where do you use @cid
    variable?
    Static SQL may look like
    SELECT @cid=
    [dbo].[Customers].[CustomerID]
    FROM dbo.customers
    WHERE [dbo].[Customers].[CustomerName] LIKE '%'+@c+'%'
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • How to call a stored procedure that has Table Of data types in VB6?

    Hi everyone,
    I need to call a stored procedure that has a Table Of data type as an input parameter (possibly even several Table Of input parameters). I can't seem to find any example of how to do this in VB6 using ODBC. Is this even possible?
    Thanks you!
    Steve

    Thanks,
    but I need to test stored procedures that uses type defined in the package.
    e.g.
    if I have s.p.
    PROCEDURE get_risultati_squadra
    ( in_squadra IN VARCHAR2,
    out_serie OUT tab_varchar2_5,
    out_tiporisultato OUT tab_varchar2_5,
    out_n_giornata OUT tab_varchar2_5,
    out_squadre OUT tab_varchar2_200,
    out_risultato OUT tab_varchar2_10,
    out_marcatore OUT tab_varchar2_50,
    out_punti OUT tab_varchar2_3,
    out_rimbalzista OUT tab_varchar2_50,
    out_rimbalzi OUT tab_varchar2_3,
    out_esito OUT tab_varchar2_2);
    I have to define every type external to the package, in this case five new TYPE !!
    Is there another way to solve this problem?
    Thanks

  • Stored Procedure returning 5GB data in sinle out parameter.

    Hi,
    A stored procedure takes data from the tables of database. Stored Procedure have one output parameter which should out put 5gb data (Prefer in 100k chunks if possible).
    PROBLEM IS "A stored procedure local variable can not keep Data>34k".
    If out put data size in output parameter < 34k every thing works properly. But when data in output param increases 34k. Oracle raise error.
    Define SOLUTION.
    I'm using OLEDB to call stored procedures. Is it possible to have 5GB data out from stored procedure in output parameter.
    Looking forward for Help,
    SE YA
    [email protected]
    [email protected]

    My stored procedure is ...
    *****************Create Table**************************
    Create Table SBG100 ( DESIGN1 NUMBER(10), DESIGN2 NUMBER(10), DESIGN3 NUMBER(30), DESIGNSOA NUMBER(10), DESIGN4 NUMBER(10) );
    INSERT INTO SBG100 values ( 124, 123, 123, 123, 123);
    *****************Create Stored Procedure ***************
    CREATE OR REPLACE PROCEDURE NODE1001(varOutPut OUT LONG) AS
    CURSOR CUR IS
    Select NODE1001.rowid NODE1001 FROM DBDIRECT.SBG100 NODE1001;
    N001DESIGN1 NUMBER(10); N001DESIGN2 NUMBER(10); N001DESIGN3 NUMBER(30);
    N001DESIGNSOA NUMBER(10); N001DESIGN4 NUMBER(10); tempnum NUMBER := 0;
    VarOutPutN2 LONG; VarTemp LONG; i number(10):= 0; ntotal_Rows NUMBER(10) := 0;
    BEGIN
         Select count(1) into ntotal_Rows from DBDIRECT.SBG100;
    FOR REC IN CUR LOOP
    Select NODE1001.DESIGN1, NODE1001.DESIGN2, NODE1001.DESIGN3, NODE1001.DESIGNSOA
    into N001DESIGN1, N001DESIGN2, N001DESIGN3, N001DESIGNSOA
    from DBDIRECT.SBG100 NODE1001 Where NODE1001.ROWID = REC.NODE1001 ;
         varTemp := rpad(2||chr(0),4,' ') || rpad(1||chr(0),4,' ') || rpad(N001DESIGN1||chr(0),8, ' ') || rpad(N001DESIGN2||chr(0),8,' ')
    || rpad(N001DESIGN3||chr(0), 8,' ') || rpad(N001DESIGNSOA||chr(0), 8,' ');
    -- NODE1002(VarOutPutN2, ntotal_Rows - i);
         varOutPut := varOutPut || varTemp || varOutPutN2;
         i := i + 1;
    END LOOP;
    END;
    TO execute above stored procedure n see output data Call this stored procedure.
    *************To Execute above Stored Procedure********
    CREATE OR REPLACE PROCEDURE NMAIN AS
    VAROUTPUT LONG;
    BEGIN
    --dbms_output.enable(50000);
    node1001(varoutput);
    dbms_output.put_line(substr(varoutput,250));
    end;
    *************How to execute all :)******************
    only type exec nmain on SQL prompt. You'll see result.

  • Basic Stored Procedure Help - Not Returning Data

    Hello All:
    To be fair, I come from a SQL Server environment and have never written anything for PL/SQL / Oracle before, this is my first attempt, so if anything is better or more efficient, please let me know. The immediate problem I am having is, I have the Stored Procedure below, and all I want to do is return the data in the table, so that I can fill my DataSet in code. But when I run the code against this stored procedure, it always brings back no data (if I simply do a standard "SELECT * FROM lkAllocation", I get the results, so I know data is there and the connection is good). If run the procedure in my window in Oracle SQL Developer (call PAYSOL.spallocationselectall();), my results window shows no data as well. What is wrong with this Store Procedure?
    create or replace
    PROCEDURE spAllocationSelectAll IS
    AllocationID Integer;
    AllocationName Varchar2(50);
    BEGIN
    AllocationID := 0;
    AllocationName := '';
    SELECT
    AllocationID,
    AllocationName
    INTO
    AllocationID,
    AllocationName
    FROM
    lkAllocation
    ORDER BY
    AllocationName;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    NULL;
    WHEN OTHERS THEN
    -- Consider logging the error and then re-raise
    RAISE;
    END spAllocationSelectAll;

    Hi and welcome to the forum.
    But when I run the code against this stored procedure, it always brings back no data I presume that your code will fail when having more than one record in your table.
    Did you check your error logging table?
    Anyway:
    Your approach will not give you your desired results.
    You're selecting two column values in two variables and nothing else happens.
    No OUT-parameters declared
    Perhaps you're better off using a function instead of a procedure etc,etc...
    When you have more than one record on your table, you'll run into a TOO_MANY_ROWS error this way...
    See:
    PL/SQL 101 : Understanding Ref Cursors
    and
    Re: Dynamic sql or ref cursor or what
    or
    How to return table value from stored procedure without ref cursor
    In short: do a search on this forum on 'REF CURSOR'...
    Also try to read, learn, do searches and understand a bit about Oracle, by studying the docs.
    http://www.oracle.com/pls/db102/homepage
    Concepts: http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/toc.htm
    Fundamentals: http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/toc.htm
    And check out http://asktom.oracle.com as well...

  • Procedure or Java Stored procedure to send message/xml/data to MQ Series Qu

    Hi
    Using a simple Oracle Procedure or Oracle's Java stored procedure, I would like to send data to MQ Queue. It would be great if someone can help me with a piece of sample code.
    Thanks in Advance
    -GV

    Hi Prabhu, Vlad
    This is the same question which i asked few days back.
    Our Backend system, only understands ISO8583 message format. And since I work in a financial environment, I can only send and receive data using "socket" protocol (tcp/ip).
    So, This is where I have stuck forever...
    I create a BS. select "any xml" . Then, I select "socket" as protocol. and click on finish.
    Then, I create a Proxy Service based on my BS.
    But, where/how do I convert the input xml packet into an ISO8583 format and send it over to my backend system ???
    salil

  • WCF OData Service stored procedure call generates "Operation could destabilize the runtime" error with $select option

    I've been trying to call a stored procedure through Entity Framework and WCF Data Services (OData). It returns an entity not a complex type. Following walkthroughs found all over the web, I came up with this code inside my service:
    [WebGet]
    public IQueryable<Entity> GetEntitiesByParameterId(int parameterId)
    return CurrentDataSource.GetEntitiesByParameterId(parameterId).AsQueryable();
    Calling the proc this way: ~WcfService.svc/GetEntitiesByParameterId?parameterId=1 executes
    the stored procedure and returns entities that should be returned. No problem there.
    Everything works well until I try to use $select OData option ie. ~WcfService.svc/GetEntitiesByParameterId?parameterId=1&$select=name.
    Upon debugging, the method above runs without any error but it returns an Operation could destabilize the runtime error upon reaching the
    client. After so much research, apparently it is a very general error pointing to a lot of different causes. I haven't found one that really matches my particular problem. Closest are 
    http://stackoverflow.com/questions/378895/operation-could-destabilize-the-runtime
    https://social.msdn.microsoft.com/Forums/en-US/d2fb4767-dc09-4879-a62a-5b2ce96c4465/for-some-columns-entity-properties-executestorequery-failed-with-error-operation-could?forum=adodotnetdataservices 
    but none of the solutions worked on my end.
    Also, from the second article above:
    This is a known limitation of WCF DS. ...
    Second is that some of the queries won't work correctly because LINQ to EF needs little different LINQ expressions than LINQ to Objects in some cases. Which is the problem you're seeing.
    It has been posted on 2012. If it its true, are there still no updates on this? And is there any other workaround to get the $select working on the stored proc call?
    What works:
    ~WcfService.svc/GetEntitiesByParameterId?parameterId=1
    ~WcfService.svc/GetEntitiesByParameterId?parameterId=1&$top=1
    ~WcfService.svc/GetEntitiesByParameterId?parameterId=1&$skip-5
    ~WcfService.svc/GetEntitiesByParameterId?parameterId=1&$filter={filter query}
    ~WcfService.svc/GetEntitiesByParameterId?parameterId=1&$expand=SomeNavigationProperty
    What doesn't work:
    ~WcfService.svc/GetEntitiesByParameterId?parameterId=1&$select=name
    Tech details:
    EntityFramework 5, WCF Data Service 5.0, OData V3
    *I've also tried upgrading to EF6 and WCF 5.6.2 and it still didn't work.
    Any help would be appreciated. Thanks!

    Someone from SO replied to my question there and said that $select is still not supported though I couldn't find any definitive documentation about it.
    From what I gather and observed, $select breaks the stored procedure call because it tries to alter the data shape already gotten from the database and attempts to return a dynamic entity instead. Something about the stored proc returning an ObjectResult might
    be messing it up. As I have said, these are merely my observations.
    Workaround: I found a simple and elegant workaround for it though. Since my stored procedures are only getting data from the database and does
    not alter data in any way (INSERT, UPDATE, DELETE), I tried using table-valued functions that returns a table equivalent to the entity on my EF. I've found that calling this function on the Service Operation method returns an IQueryable<Entity> which
    is basically what is needed. $select also works now and so does other OData query options.
    Steps:
    Create a function on the database
    Update EDMX -> Add function
    Add new Function Import with Entity return type
    Create service operation in WCF Data Service that calls CurrentDataSource.<FunctionName>()
    Test in fiddler.
    CODES
    Database Function:
    CREATE FUNCTION GetEntities(@parameter)
    RETURN @entites TABLE(
    [Id] [int],
    [Name] [nvarchar](100),
    AS
    BEGIN
    INSERT INTO @entities
    SELECT [Id], [Name], ... FROM [EntityTable]
    RETURN
    END
    WCF:
    [WebGet]
    public IQueryable<Entity> GetEntity(int parameter)
    return CurrentDataSource.GetEntity(parameter);
    It doesn't really solve the stored procedure problem but I'm marking this as answer until someone can provide a better one as it does solve what I'm trying to do.
    Hope this helps others too. :)

  • How to put Stored Procedure in Receiver JDBC channel

    Hi all,Good Evening,Iam using a JDBC to JDBC scenario in which I have to move the data from database into XI and we all know that the Interfaces which require stored procedures on Oracle database server for publishing the data needs to be called in combination of BPM & Receiver JDBC adapter.
            In this method, a dummy interface will be created for triggering the process. This interface could be designed using any adapter which works on polling mechanism (sender JDBC/File). Dummy interface will invoke a small BPM designed for each business object. BPM will make a synchronous call to Oracle database by calling underlying stored procedure. Stored procedure will return the result set by using a cursor. BPM will send this result set to target application.
            Now my question is how to put a stored procedure in a receiver JDBC channel which need to collect the data from database when BPM makes a synchronous call.
           Because it is required in my scenario,can any one tell me how and where to put stored Procedure in JDBC receiver channel.
    Thanks in advance,
    Regards,
    Prajwal

    Your action should be EXECUTE for stored procedures in Message mapping.
    <StatementName5>
    <storedProcedureName action=u201D EXECUTEu201D>
        <table>realStoredProcedureeName</table>
    <param1 [isInput=u201Dtrueu201D] [isOutput=true] type=SQLDatatype>val1</param1>
    </storedProcedureName > 
    </StatementName5>
    action=EXECUTE
    Statements with this action result in a stored procedure being executed. The name of the element is interpreted as the name of the stored procedure in the database. If you use the optional <table> element, the value specified here is used as the stored procedure name. This enables you, for example, to define stored procedure names containing non-XML-compatible characters or characters that prevent them from being used in interface definitions in the Integration Builder/PCK.  If specified, <table> must be the first element in the block within <dbTableName>.
    The elements within the stored procedure are interpreted as parameters. They can optionally have the attribute isInput=u201C1u201C (input parameter) or isOutput=u201C1u201C (output parameter) or both (INOUT parameter). If both attributes are missing, the element is interpreted as an input parameter. The parameter names must be identical to those of the stored procedure definition.
    The attribute type=<SQL-Datatype> , which describes the valid SQL data type, is mandatory for all parameter types (IN, OUT, INOUT).
    http://help.sap.com/saphelp_nw2004s/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
    /people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures
    /people/sap.user72/blog/2005/10/15/jdbc-adapter-execution-mode-chained-or-unchained
    /people/luis.melgar/blog/2008/05/13/synchronous-soap-to-jdbc--end-to-end-walkthrough
    /people/sriram.vasudevan3/blog/2005/02/14/calling-stored-procs-in-maxdb-using-sap-xi

Maybe you are looking for

  • Conversion date

    Hi, I created the Info query used 6 tables i.e. ANLA, ANLB, ANLC, ANLZ, ANEP and ANEK. The issue is some assets is showing the conversion data i.e. 05/31/2009 and some assets is given current date (if the asset posted any retirement / additions / tra

  • Can we restrict Page assets shown in Content Finder to match available cq drop targets?

    We have defined a component that accepts drag-and-drop of user content, and the cq:DropTargetConfig node (under cq:editConfig > cq:dropTargets) defines groups=[page] because it accepts assets of type cq:Page not images.  Our component is a copy of th

  • Taking Snow Leopard for a spin with CS4 . . .

    Back in September I purchased the Snow Leopard install DVD to use it's Drive Setup app to perform more reliable SATA hard drive partitioning on my '07 Mac Pro, before I re-installed Tiger, from the machine's OEM install DVD. Over the weekend, I insta

  • Is it possible to add a border to artboards when printing with "ignore artboards" checked?

    I am a sign designer and very often I set up files with up to 30 artboards. Usually the signs are white with text, and I have to create a rectangle for each artboard and stroke it to show the border when I print it out to proof it to my boss to show

  • Clearing the Finder "Open With" contextual menu ?

    After the install I now have duplicates of all the stuff I used to have in the open with menu. Like VLC and then under it VLC (version number). How do I clear it?