Conversion of SQL Server UDF to Oracle

Hi,
I hope this is the right place to post this question.
We are migrating a number of applications from SQL Server to Oracle, so my exposure/experience in Oracle is very limited.
I had previously created a functin in SQL Server which takes data in this format
Name, CC_Code
Alan, 3720
Alan, 3730
Alan, 3740
Anna, 5045
Barry, 5004
Barry, 7518
and produces this
Name, CC_Code
Alan, 3720, 3730, 3740
Anna, 5045
Barry, 5004, 7518
I was able to cobble together the select statement below, which returns the correct output, but I am unable to create it as a function.
SELECT name,
LTRIM(MAX(SYS_CONNECT_BY_PATH(cost_centre_code,', '))
KEEP (DENSE_RANK LAST ORDER BY curr),',') AS CC_Code
FROM (SELECT name,
cost_centre_code,
ROW_NUMBER() OVER (PARTITION BY name ORDER BY cost_centre_code) AS curr,
ROW_NUMBER() OVER (PARTITION BY name ORDER BY cost_centre_code) -1 AS prev
FROM (select * from mnt_staff, mnt_cost_centre_staff
where MNT_STAFF.employee_number = MNT_COST_CENTRE_STAFF.employee_number
and mnt_cost_centre_staff.association_flag = 'S'))
GROUP BY name
CONNECT BY prev = PRIOR curr AND name = PRIOR name
START WITH curr = 1;
When I create the function, using Toad for Oracle, I get no compile errors, but when I try and use it
select MNT_USER."NameSecondary"
FROM (select * from mnt_staff, mnt_cost_centre_staff
where MNT_STAFF.employee_number = MNT_COST_CENTRE_STAFF.employee_number
and mnt_cost_centre_staff.association_flag = 'S');
I get the following error
ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at "MNT_USER.NameSecondary", line 6
exact fetch returns more than requested number of rows
Cause: The number specified in exact fetch is less than the rows returned.
Action: Rewrite the query or change number of rows requested
I've looked at some suggestions
"to declare the select statement as a cursor, and a variable type ref cursor to
hold the results and return them to the caller (as an out parameter)" but am lost as to what/how to do this.
Any suggestions gratefully received.

What you posted as a SQL Server function is not a SQL Server function. Neither is your Oracle SQL statement a function. A function, in Oracle, takes one or more parameters (IN, OUT, or IN OUT) and returns one and only one value unless it is a pipelined table function.
To learn about Oracle functions
http://www.psoug.org/reference/functions.html
What is appears you have done is repeat a very common error which is to think that because you know a Microsoft product you can pick up an Oracle product, having not read the concepts and architecture docs, having not taken a class, and having not studied the subject, just start banging out code: It does not work that way.
Your SQL statement, NOT A FUNCTION, is this:
select MNT_USER."NameSecondary"
FROM (
  select *
  from mnt_staff, mnt_cost_centre_staff
  where MNT_STAFF.employee_number = MNT_COST_CENTRE_STAFF.employee_number
  and mnt_cost_centre_staff.association_flag = 'S');and none of us can fix it because none of us can do more than guess as to what is specifically wrong though at the same time I can easily state that it appears that a lot of it is wrong. What is the point of creating an in-line view when all you really seem to want is:
SELECT mnt_user NameSecondary
FROM mnt_staff ms, mnt_cost_centre_staff mc
WHERE ms.employee_number = mc.employee_number
AND mc.association_flag = 'S';

Similar Messages

  • New To Oracle.. Needs Help:: Conversion from SQL Server to Oracle 11g

    I am new to Oracle 11g and badly need the conversion of SQL Server Functions to Oracle.. Sample Pasted Code not working .. end with error.. pls help
    Create Table TempT (ID1 Varchar (10),
    ID2 Varchar (10)
    CREATE OR REPLACE PACKAGE GLOBALPKG
    AS
    TYPE RCT1 IS REF CURSOR;
    TRANCOUNT INTEGER := 0;
    IDENTITY INTEGER;
    END;
    CREATE OR REPLACE FUNCTION fTempT
    i IN VARCHAR2 DEFAULT NULL
    RETURN GLOBALPKG.RCT1
    IS
    REFCURSOR GLOBALPKG.RCT1;
    BEGIN
    OPEN REFCURSOR FOR
    SELECT TT.*
    FROM TempT TT
    WHERE (fTempT.i = ''
    OR TT.ID1 = fTempT.i)
    RETURN REFCURSOR;
    END;
    CREATE OR REPLACE FUNCTION fTempTF
    i IN VARCHAR2 DEFAULT NULL
    RETURN GLOBALPKG.RCT1
    IS
    REFCURSOR GLOBALPKG.RCT1;
    BEGIN
    OPEN REFCURSOR FOR
    SELECT *
    FROM TABLE(fTempT(i))
    RETURN REFCURSOR;
    END;
    LAST FUNCTION ENDs WITH ERROR
    Error(13,7): PL/SQL: ORA-22905: cannot access rows from a non-nested table item

    2. The major purpose is to get a simplest way to create a parameterized function who can return a table like output. 2nd function has no use instead i was testing the result of First Function like thisIf you just want to select from a select, you should use a view not a function.
    1. which program is more help ful for writing and executing queries bcoz after using Query Analyzer of Microsoft It seems difficult to work on SQL Developer.
    sqlplus? If you are having difficulty learning new tools because of an old one you used, probably best to forget the old one and concentrate on learning the new one because it will be different. This goes for the database itself also.
    2. Can DMLs be used within a Function.Yes, you just can't execute the function in another SQL statement if it modifies data and this is a good thing.
    3. Can temporary tables be used within a function.Unfortunately yes, but they shouldn't be unless you are in a slowest application competition.
    5. Each Function which is a Table Function must be accompanied with Type Definitions?? its a bit longer way of doing the things than SQL ServerThat is why it is better to use views instead, is there any reason you want a select that you can select from inside a function?
    SQL Server for last 9 years thats why i refer this toolThat is not in itself a problem, if you try and do what you did in SQLServer in Oracle, that will be a problem though.

  • Conversion From SQL Server to Oracle.. Just New pls someone help

    I am new to Oracle 11g and badly need the conversion of SQL Server Functions to Oracle.. Sample Pasted Code not working .. end with error.. pls help
    Create Table TempT (ID1 Varchar (10),
         ID2 Varchar (10)
    CREATE OR REPLACE PACKAGE GLOBALPKG
    AS
         TYPE RCT1 IS REF CURSOR;
         TRANCOUNT INTEGER := 0;
         IDENTITY INTEGER;
    END;
    CREATE OR REPLACE FUNCTION fTempT
         i IN      VARCHAR2 DEFAULT NULL
    RETURN GLOBALPKG.RCT1
    IS
    REFCURSOR      GLOBALPKG.RCT1;
    BEGIN
    OPEN REFCURSOR FOR
         SELECT TT.*
    FROM TempT TT
    WHERE     (fTempT.i = ''
    OR     TT.ID1 = fTempT.i)
    RETURN REFCURSOR;
    END;
    CREATE OR REPLACE FUNCTION fTempTF
         i IN      VARCHAR2 DEFAULT NULL
    RETURN GLOBALPKG.RCT1
    IS
    REFCURSOR      GLOBALPKG.RCT1;
    BEGIN
    OPEN REFCURSOR FOR
         SELECT *
    FROM TABLE(fTempT(i))
    RETURN REFCURSOR;
    END;
    LAST FUNCTION ENDs WITH ERROR
    Error(13,7): PL/SQL: ORA-22905: cannot access rows from a non-nested table item

    I assume this is a simplified version of a more complex problem, since your second function would not return anything more than the first. If you want to use TABLE on a ref cursor, then you need to do some sort of intermediary transformation, such as using a pipelined function, as in the example in the link below. Also, this does not appear to have anything to do with objects, so should be posted in the SQL and PL/SQL forum instead.
    http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/tuning.htm#BABHAABE

  • Migration From SQL Server 2005 to Oracle DB through Oracle SQ Dev Problem

    Hi all,
    we are trying to do a full Migration from MS SQL Server 2005 to Oracle DB 9.2 i
    we are using Oracle SQL Developer V 1.5.3,
    the capturing of the DB and the conversion to the oracle model completed succefully
    however when we try to generate the scripts from the converted model
    the script generation hangs on a sequence and no further progress is made (the script generation pop up keeps still on a certain sequence displaying its name, and thats it )
    no error messages are displayed,
    how can we know the reason for this? or atleast find a log for whats happening...
    any suggestions?
    Thank you

    Hi,
    migrating a sequence shouldn't make a problem. I did a quick test. I created this table in SQL Server:
    create table test_seq (col1 int identity(1,1),col2 char(1))
    Then I captured the table, converted the table and generated the script. There was no problem.
    CREATE SEQUENCE succeeded.
    CREATE TABLE succeeded.
    Connected
    TRIGGER test_seq_col1_TRG Compiled.
    As you see, applying the script was also successful.
    I am using Oracle RDBMS 11g, I don't know whether this makes a difference. Do you have any 11g instance available to test it?
    Can you show me one of the sequences that are causing the hang? Is the CREATE SEQUENCE statement already in the generated script, or not? Your table is for sure more complex than my simple example.
    Regards,
    Wolfgang
    Edited by: wkobargs on Jan 13, 2009 3:01 AM

  • My Experiences re: Migrating SQL Server Database to Oracle

    I am using SQL Developer EA4 for thsi conversion, best attempt yet.
    I had numerous problems with this conversion.
    1. The wizard asked me to specify the new Oracle database; instead it just ignored this information and created an Oracle database similarly named as the SQL Server database. I also noticed a file name "Migration.out" was produced; it contained errors such as:
    Error starting at line 3 in command:
    CREATE USER Emulation IDENTIFIED BY Emulation DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP
    Error at Command Line:3 Column:36
    Error report:
    SQL Error: ORA-01031: insufficient privileges
    01031. 00000 - "insufficient privileges" and
    Error starting at line 4 in command:
    GRANT CREATE SESSION, RESOURCE, CREATE VIEW, CREATE MATERIALIZED VIEW, CREATE SYNONYM,CREATE PUBLIC SYNONYM TO Emulation
    Error report:
    SQL Error: ORA-01031: insufficient privileges
    01031. 00000 - "insufficient privileges" and
    Error starting at line 7 in command:
    CREATE USER dbo_COREv13 IDENTIFIED BY dbo_COREv13 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP
    Error at Command Line:7 Column:38
    Error report:
    SQL Error: ORA-01031: insufficient privileges
    01031. 00000 - "insufficient privileges" and
    Error starting at line 8 in command:
    GRANT CREATE SESSION, RESOURCE, CREATE VIEW, CREATE MATERIALIZED VIEW, CREATE SYNONYM TO dbo_COREv13
    Error report:
    SQL Error: ORA-01031: insufficient privileges
    01031. 00000 - "insufficient privileges".
    I followed all of the steps listed in the "Help" section re: Migrations but still ended up with these errors.
    2. My schema consists of 1000+ tables; approximately 10 tables were NOT created. When I copied the SQL from Migration.sql making NO changes and pasted it into the new Oracle database it created without issues.
    3. While the conversion is taking place, different objects (constraints, indexes, foreign keys, etc) are shown to be copied; their appears to be ordering of these items. Shouln't a dependancy tree be established, and object converted based on this?
    4. Several tables, in my case about 250 tables did NOT get any data copied across. No reasons given.
    5. A log of all activities should be produced for review and completeness.
    6. I tried to use the "Migrate select tables" option but met with no success. Apparently, it makes an assumption that both the "source" and "target" databases wil be of the same type (ie both SQL Server or both Oracle); this does not make any sense to me since the point of the exercise is to migrate data from one database vendor to another. Obviously, different database vendors use differing datatypes for similar data (ie dates).
    7. I noticed in the "Migration" sql that the "Connect" statements are not correct; they were missing the "instance name" portion.
    8. Also, when I looked in the "MIGRATION" sql, I could not find any entries for the last step of the conversion - the movement of data from SQL Server to Oracle. Is this intentional or an oversight.
    I dont want to appear negative on this Migration; I have used SQL Developer since it inception; in my opinion this is the best attempt to date.
    Murray Sobol

    Hi Murray,
    Thanks for this feedback.
    There is a lot of questions here, I think some of it boils down to misunderstandings, which we should clarify in the doc.
    Hopefully Ill get a video of a migration online soon as well.
    But here is a brief break down.
    *1.*
    "The wizard asked me to specify the new Oracle database; instead it just ignored this information and created an Oracle database similarly named as the SQL Server database."
    So this relates to Step 7 of the Migration Wizard. Where you can select the target connection.
    SQL Developer doesn't ignore the Target Connection you selected, It just uses it to connect to the target database , not the target schema.
    SQL Developer generates a new target schema for the migrated objects. It standard approach is not to generate objects directly into an existing Schema.
    The Target Connection is used to create all the migrated objects (including new Oracle Schemas) in your target oracle database. So you should choose an Oracle Target Connection which has enough privileges to create new Schemas and Objects.
    But as you have found, it doesn't generate the migrate objects , like tables, ... , directly into your chosen Target Connection.
    From the errors you encountered it doesn't sound like the Target Connection (and the underling Oracle Schema) doesn't have the privileges to create other Schemas.
    If you use something like a connection to the SYSTEM schema on your target database, it should run OK.
    It wont create any objects in SYSTEM, rather it will use SYSTEM privileges to create a new schema (ex: dbo_Northwind) and populate it.
    You don't have to use SYSTEM, but you do need a schema with enough privileges to create other schemas.
    That is the straight forward way. But if you really need to generate into an existing schema the following steps can be taken.
    a)rename the schema under the Converted Database Objects
    b)Right click "Converted Databases Objects" and choose generate. it will kick off the Migration Wizard in the correct place
    *2.*
    My schema consists of 1000+ tables; approximately 10 tables were NOT created. When I copied the SQL from Migration.sql making NO changes and pasted it into the new Oracle database it created without issues.
    When you say Migration.sql , is the entire generation file , which can be found in your <outputspecified>/generated/<projectname.modelname>.sql ?
    When your say "pasted it into the new Oracle database" , are you running it in SQL Developers SQL Worksheet using the Target Connection.
    Basically your migration is all out of shape once the target Schemas are not created. So the above issues (insufficient privileges) has to be resolved first.
    Please post back if it is still an issue.
    *3.*
    While the conversion is taking place, different objects (constraints, indexes, foreign keys, etc) are shown to be copied; their appears to be ordering of these items. Shouln't a dependancy tree be established, and object converted based on this?
    Objects are converted in a particular order and their dependencies are persisted so that they can be generated in the correct order.
    Are you seeing an issue?
    *4.*
    Several tables, in my case about 250 tables did NOT get any data copied across. No reasons given.
    I'm surprised any tables were populated with data due to the target schema not being created.
    The online data move is pretty simple and it does not report or recover very well from issues.
    If you are having difficulties once item 1. is resolved, please post an example of the source table and I will give it a go.
    For better control of the data move with much more powerful tweaking, error handling, reporting and performance try the offline data move.
    SQL Developer can created a suite of scripts which use SQL Servers BCP tool to dump out the data to dat files, and Oracle SQL*Loader tool to insert the data in the dat file into Oracle.
    *5.*
    A log of all activities should be produced for review and completeness.
    The output/generated/<projectname.modelname>.out provides the output of running the generation script.
    The migration reports http://dermotoneill.blogspot.com/2010/11/migration-reports-30.html outline what happens during the migration.
    Apart from online data move issues, is there any other data missing?
    *6.*
    I tried to use the "Migrate select tables" option but met with no success. Apparently, it makes an assumption that both the "source" and "target" databases wil be of the same type (ie both SQL Server or both Oracle); this does not make any sense to me since the point of the exercise is to migrate data from one database vendor to another. Obviously, different database vendors use differing datatypes for similar data (ie dates).
    Do you mean "Copy To Oracle" ? This option is intended to migrate tables from non Oracle databases like SQL Server to Oracle.
    Can you give more details on what issue you are seeing.
    *7.*
    I noticed in the "Migration" sql that the "Connect" statements are not correct; they were missing the "instance name" portion.
    The generation script is meant to be run using SQL Developers SQL Worksheet. I think you only get this "instance name" issue if running from SQL*Plus.
    Can you confirm
    8. Also, when I looked in the "MIGRATION" sql, I could not find any entries for the last step of the conversion - the movement of data from SQL Server to Oracle. Is this intentional or an oversight.
    The online data move is performed separately from creating the objects. It is not script based, it uses JDBC to pump the data from the source database to the target database.
    In summary , I would
    a) Create a connection to your Target database using your SYSTEM schema
    b) Right click on your "Converted Database Objects" and choose "Generate Target"
    c) Choose your new "System" connection as the Target Connection
    d) Follow the Migration Wizard to the end.
    You will end up with a new target Schema and the migrated objects in it.
    Check the .out file to see the errors
    and the migration reports http://dermotoneill.blogspot.com/2010/11/migration-reports-30.html
    Regards,
    Dermot
    SQL Developer Team.

  • Convert Sql server Storeprocedure to Oracle Storeprocedure

    Hi I vant to convert a sql server storeprocedures to oracle storeprocedure .
    I need a convertor if anybody know a aplication that performed it please tell me.

    Hi Hoek,
    I have tried this:
    1. Get the DATETIME into a VARCHAR2 variable.
    2a. Then, I use a TIMESTAMP variable and TO_TIMESTAMP like this:
    v_tmst := TO_TIMESTAMP (r_typ.date1, 'DD.MM.YYYY HH24');2b. Or the function CAST:
    v_tmst := CAST (r_typ.date1 AS TIMESTAMP);Same result, I lose the HH:MI:SS.FFF just in the moment the DATETIME from SQL Server is copied into an Oracle VARCHAR2 variable.
    I also read the article you linked (I also read it before I wrote the 1st posting, but not with deep detail).
    I'm afraid this cannot help me, or at least I'm not able to find out how.
    They talk about ODI, but I'm not using that tool.
    Moreover, they talk about creating a table, but they don't say anything regarding the conversion itself and how to get the miliseconds.
    Don't know whether there is something I can take from here or not.
    Anyway, thank you for the repply.
    Francisco.
    Edited by: FranBlanes on 30.08.2012 04:27

  • SQL Server Procedures to Oracle Functions

    Is there an option in the Migration Assistant 1.2.0 that will convert the SQL Server procedures into Oracle Functions (rather than procedures)?
    By default the T/SQL procedures return a integer status code. Our middle-tier requires calls to procedures to return a status code (integer), and I'd like the migration to modify the "procedure" to a "Function returning Integer" rather than Procedure.

    Thomas,
    This is not an option currently. We will look into this for a future release. You could manually make the changes post conversion, prior to generation. As well as adding appropriate RETURN statements, you may want to add additional exception handling so the appropriate error is passed back.
    Donal

  • I am trying to have access tables of the Sql Server through the Oracle

    I am trying to have access tables of the Sql Server through the Oracle and this being occurred the error:
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message: [Generic Connectivity using ODBC][H006] The init parameter <HS_FDS_CONNECT_INFO> is not set.
    Please set it in init <orasid>.ora file.
    ORA-02063: preceding 2 lines from HSMSQL
    I created the ODBC with name HSMSQL.
    I made all the configurations in the archives
    tnsnames.ora:
    HSMSQL=
    (DESCRIPTION=
    (ADDRESS= (PROTOCOL = tcp)(HOST = wsus)(PORT = 1521))
    (CONNECT_DATA =
    (SID = HSMSQL)
    (HS = OK)
    listener.ora:
    (SID_DESC = (SID_NAME=HSMSQL)
    (ORACLE_HOME= C:\oracle\ora92)
    (PROGRAM =hsodbc)
    initHS_SID.ora:
    HS_FDS_CONNECT_INFO = HSMSQL
    HS_FDS_TRACE_LEVEL = OFF
    -- Create database link
    create database link HSMSQL.US.ORACLE.COM
    connect to TESTE identified by TESTE2
    using 'HSMSQL';
    But when I execute query the error occurs:
    Select * from TabTeste@HSMSQL
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message: [Generic Connectivity using ODBC][H006] The init parameter <HS_FDS_CONNECT_INFO> is not set.
    Please set it in init <orasid>.ora file.
    ORA-02063: preceding 2 lines from HSMSQL
    Please they help me, thanks, Paulo.

    Hi,
    It seems that your configuration is Ok. By the way, the workaround for this error is:
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
    [Transparent gateway for ODBC][H001] The environment variable <HS_FDS_CONNECT_INFO> is not set.
    * Set HS_FDS_CONNECT_INFO in the hs{sid}init.ora file to the data source name.
    Example: HS_FDS_CONNECT_INFO = <ODBC DataSource Name>
    * Make sure the hs{sid}init.ora file exists in the ORACLE_HOME/hs/admin directory and has the same name as the SID in the LISTENER.ORA.
    Example: If SID=hsodbc in the listener.ora file, then the hs{sid}init.ora file would be named ORACLE_HOME/hs/admin/inithsodbc.ora
    For more information see if this [url http://forums.oracle.com/forums/thread.jspa?forumID=61&threadID=576975]thread can help you.
    Cheers

  • General question on SQL Server 2000 to Oracle 10g

    Hello all,
    I just have a general question on migration from SQL Server 2000 to Oracle 10g using SQL Developer.
    How does it migrate Users with proper privileges from SQL Server to Oracle? Follow the interface steps? Or should the users be created on destination Oracle side?
    Thank you.

    Hi,
    It depends which type of migration you are making.
    For a 'Standard' migration when you migrate data a 'create user' statement is created as part of the migration and you will see this in the generated code.
    If you are using the 'Quick' migration option then you need to create the Oracle user or use an existing user to receive the data.
    Your best option is to review the documentation available from -
    http://www.oracle.com/technology/tech/migration//workbench/index_sqldev_omwb.html
    or directly from -
    http://download.oracle.com/docs/cd/E12151_01/index.htm
    and then get back with specific questions if this does not give you the information you need.
    Review the chapter -
    2. Migrating Third-Party Databases
    in -
    Oracle® Database SQL Developer User’s Guide Release 1.5
    Regards,
    Mike

  • Problem in Loading Data from SQL Server 2000 to Oracle 10g

    Hi All,
    I am a university student and using ODI for my final project on real-time data warehousing. I am trying to load data from MS SQL Server 2000 into Oracle 10g target table. Everything goes fine until I execute the interface for the initial load. When I choose the CKM Oracle(Create unique index on the I$ table) km, the following step fails:
    21 - Integration - Prj_Dim_RegionInterface - Create Unique Index on flow table
    Where Prj_Dim_Region is the name of my target table in Oracle.
    The error message is:
    955 : 42000 : java.sql.SQLException: ORA-00955: name is already used by an existing object
    java.sql.SQLException: ORA-00955: name is already used by an existing object
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
         at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:633)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1086)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2984)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3057)
         at com.sunopsis.sql.SnpsQuery.executeUpdate(SnpsQuery.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execStdOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt(SnpSessTaskSqlI.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.g.y(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)
    I am using a surrogate key column in my target table alongwith the natural key. The natural key is populated by the primary key of my source table, but for the surrogate key, I have created a sequence in my oracle schema where the target table exists and have used the following code for mapping:
    <%=snpRef.getObjectName( "L" , "SQ_PRJ_DIM_REGION" , "D" )%>.nextval
    I have chosen to execute this code on target.
    Among my attempts to solve this problem was to set Create Index option of the CKM Oracle(Create Index for the I$ Table) to No so that it wont create any index on the flow table. I also tried to use the simple CKM Oracle km . Both solutions allowed the interface to execute successfully without any errors, but the data was not loaded into the target table.
    When I right-click on the Prj_Dim_Region data store and choose Data, it shows empty. Pressing the SQL button in this data store shows a dialog box " New Query" where I see this query:
    select * from NOVELTYFURNITUREDW.PRJ_DIM_REGION
    But when i press OK to run it, I get this error message:
    java.lang.IllegalArgumentException: Row index out of range
         at javax.swing.JTable.boundRow(Unknown Source)
         at javax.swing.JTable.setRowSelectionInterval(Unknown Source)
         at com.borland.dbswing.JdbTable.accessChange(JdbTable.java:2959)
         at com.borland.dx.dataset.AccessEvent.dispatch(Unknown Source)
         at com.borland.jb.util.EventMulticaster.dispatch(Unknown Source)
         at com.borland.dx.dataset.DataSet.a(Unknown Source)
         at com.borland.dx.dataset.DataSet.a(Unknown Source)
         at com.borland.dx.dataset.DataSet.a(Unknown Source)
         at com.borland.dx.dataset.DataSet.open(Unknown Source)
         at com.borland.dx.dataset.StorageDataSet.refresh(Unknown Source)
         at com.borland.dx.sql.dataset.QueryDataSet.refresh(Unknown Source)
         at com.borland.dx.sql.dataset.QueryDataSet.executeQuery(Unknown Source)
         at com.sunopsis.graphical.frame.a.cg.actionPerformed(cg.java)
         at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
         at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
         at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
         at java.awt.Component.processMouseEvent(Unknown Source)
         at java.awt.Component.processEvent(Unknown Source)
         at java.awt.Container.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Window.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    I do not understand what the problem is and wasting days to figure it out. Any help will be highly appreciated as my deadline is too close for this project.
    Thank you so much in advance.
    Neel

    Hi Cezar,
    Can u plz help me with this scenario?
    I have one Oracle data model with 19 source tables and one SQL Server data model with 10 target tables. I have created 10 interfaces which use JournalizedDataOnly on one of the tables in the interface; e.g in interface for DimCustomer target table, I have 2 tables, namely Customer and Address, but the journalizing filter appear only on Customer table and this option is disabled for Address automatically.
    Now I want to create a package using OdiWaitForLog event detection. Is it possible to put all these 10 interfaces in just one package to populate the target tables? It works fine when I have only one interface and I use the name of one table in the interface for Table Name parameter of OdiWaitForLogData event, but when I try a comma seperated list of table names[Customer, Address] this error happens
    java.sql.SQLException: ORA-00942: table or view does not exist
    and if I use this method <%=odiRef.getObjectName("L","model_code","logical_schema","D")%>, I get this error
    "-CDC_SET_NAME=Exception getObjectName("L", "model_code", "logical_schema", "D") : SnpLSchema.getLSchemaByName : SnpLschema does not exist" "
    Please let me know how to make it work?
    Do I need to create separate data models each including only those tables which appear in their corresponding interface and package? Or do I need to create multiple packages each with only one journalized interface to populate only one target table?
    Thank you for your time in advance.
    Regards,
    Neel

  • Move data from sql server v8  to oracle 10g

    I just got urgent projects to migrate the data from MS SQL server 2000 to oracle 10g. The following are requirements:
    Source data/table: MS sql server 2k (version 8) on MS 2000 machine.
    Destination Data/table: oracle 10g (10.1.0.4) on Redhat version 3.
    Total number of tables: < 10 tables and < 1000 rows each tables.
    This is only one time data extraction. No periodically data extraction need.
    Questions:
    What connect method I should use? (odbc or jdbc)
    What if I have image datatype?
    Thanks in advance.

    Use the Oracle Migration Workbench.
    http://www.oracle.com/technology/tech/migration/workbench/index.html
    I think IMAGE will be migrated to BLOB by default.
    Donal

  • Exporting data from SQL Server database to Oracle database

    Hello All,
    We need to replicate a table's data of SQL Server database to Oracle database.
    Can this task be accomplished using Import/Export wizard or Linked servers?
    Can help me regarding which Oracle data access components should i download to do this?
    I am using SQL Server 2012.
    And i have Oracle 11g release 2 client installed in my system.
    Thanks in Advance.
    Thanks and Regards, Readers please vote for my posts if the questions i asked are helpful.

    Yes you can definitely transfer data from SQL server to Oracle Have a look at below links
    Export SQL server data to Oracle Using SSIS
    Use OLEDB data provider to transfer data from SQL server to Oracle
    Using Import Export Wizard
    Similar thread
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it.
    My TechNet Wiki Articles

  • Error while Viewing SQL Server data from Oracle

    Dear Friends,
    I am using Oracle10g XE.
    I have made a connection to view or insert data in SQL Server Database from Oracle.
    I  have done all the things with the help of below link.
    http://www.databasejournal.com/features/oracle/article.php/3442661/Making-a-Connection-from-Oracle-to-SQL-Server.htm
    Everything worked fine. but when i run below query
    select "EmployeeNo" from hrtattendance@mysqlserverdsn
    it gives an error which is mentioned below
    ERROR at line 1:
    ora-28545: error diagnosed by Net8 when connecting to an agent
    Unable to reteieve text of  NETWORK/NCR MESSAGE 65535
    ORA-02063: preceding 2 lines from MYSQLSERVERDSN
    Please help. I will be thankful.
    Regards,

    Dear Klaus,
    Here u go.
    C:\>C:\oraclexe\app\oracle\product\10.2.0\server\bin\hsodbc
    Oracle Corporation --- TUESDAY   JUN 24 2014 16:28:20.146
    Heterogeneous Agent Release 10.2.0.1.0 - Production  Built with
       Driver for ODBC
    C:\>C:\oraclexe\app\oracle\product\10.2.0\server\bin\tnsping MYSQLSERVERDSN
    TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 24-JUN-2
    014 16:28:33
    Copyright (c) 1997, 2005, Oracle.  All rights reserved.
    Used parameter files:
    C:\oraclexe\app\oracle\product\10.2.0\server\network\admin\sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT
    =1522)) (CONNECT_DATA=(SID=MYSQLSERVERDSN)) (HS=OK))
    TNS-12541: TNS:no listener
    C:\>C:\oraclexe\app\oracle\product\10.2.0\server\bin\lsnrctl status LISTENERMYSQLSERVERDSN
    LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 24-JUN-2014 16:28
    :48
    Copyright (c) 1991, 2005, Oracle.  All rights reserved.
    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1522))
    TNS-12541: TNS:no listener
    TNS-12560: TNS:protocol adapter error
      TNS-00511: No listener
       32-bit Windows Error: 61: Unknown error
    Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
    TNS-12541: TNS:no listener
    TNS-12560: TNS:protocol adapter error
      TNS-00511: No listener
       32-bit Windows Error: 2: No such file or directory
    C:\>
    Regards,

  • Migration from SQL Server 7 to oracle 8.1.7 on windows 2000 professional

    Hello All,
    I am currently working on Database migration from sql server 7 to oracle 8.1.7.
    My setup is as follows:
    1. Both the databases (sql server and oracle are on the same machine )
    2. My sql server database contains 200 tables and 190 stored procedures, which need to be migrated to oracle.
    When i am trying to capture the Source database details, its capturing evry thing but when its mapping at the end ...it says "MAPPING ROLE PUBLIC" and its not proceeding furthur..What do u want me to do ? i waited for approx 1 hr , still its not proceeding....How to resolve this bug ?
    Also please suggest me the best methodology for Migrating the stored procedures. allmost all my stored procedures have TEMP Tables implemented in it. Please help me in this...
    Also please let me know the Timeframe estimate for this total thing to be done..
    Waiting for your reply,
    Thanks and Regards
    SAI SREENIVAS JEEDIGUNTA

    You can user Oracle Migration Workbench to migrate from SQL Server to Oracle.
    Here is the link which gives info on software usage and download :
    http://otn.oracle.com/tech/migration/workbench/content.html
    Chandar

  • Connect SQL Server 2008 in Oracle BI EE

    Hi all,
    Am very very new to Oracle BI and i want to know how to connect my local SQL server database in Oracle BI EE to create new reports.
    Thanks ,
    Sathish

    Sathish,
    See the below link will helpful to you,
    1. Step 6). Create RCU using Repository Creation Utility 11.1.1.3.3 software. from
    http://www.bisptrainings.com/2011/11/obiee-installation-11g-using-ms-sql.html
    2. http://www.skurabigroup.com/blog/?p=745
    If you face ODBC Driver Error with SQL Server
    1. http://total-bi.com/2011/05/obiee-11g-strange-odbc-driver-error-with-sql-server/
    2. http://danishhotta.com/?p=179
    Thanks,
    Balaa...

Maybe you are looking for

  • Best practice for smooth workflow in PrE?

    Hi all.  I'm an FCP user for many many years, but I'm helping an artist friend of mine with a Kickstarter video...and he's insistent that he's going to do it himself on his Dell laptop running Win7 and PrE (I believe v11, from the CS3 package)...so I

  • Default download action doesn't work

    Downloading files for a particular type no longer prompts me for action, but simply saves the file. The application is set to "always ask" in Options, and in desperation I have now changed all applications so that none of them are set to save a file.

  • Can you use a publishing profile to deploy to multiple locations?

    Is there a way to deploy my web app to multiple locations?  Right now I am using a publishing profile (example below) and tried to use MSDeploy to deploy to my server and then just to a network location by having multiple PropertyGroup attributes. Wi

  • Can't Update 1st-gen Shuffle

    I have iTunes 7.0.2 and Mac OS X 10.4.8. My (1st-gen) shuffle is recognized and syncs older or non-DRM songs just fine, but won't sync some newer songs purchased through the iTunes Music Store. I get a message telling my to perform an update from the

  • When will we can download Oracle 8i R2 for Linux?

    Is there a schedule? null