Understanding XML file handling in ODI

Hi People,
I've just completed a simple Interface to upload an XML file into an Oracle 10g database table. The interface copes well with both inserts and updates, so I'm very pleased about that. ;)
This exercise has raised some questions though. I tried an experiment, which involved changing an element value in the XML file. I wanted to see if this change would be reflected in the file's associated Source Table in ODI. Unfortunately, it wasn't; despite me clicking the REFRESH button about 4 times. I guess my first question is:
*1. How can I ensure a change to an element value in the XML file is reflected in ODI, after reverse engineering the associated data store from the file? Is this possible?*
Moving on, I'm trying to understand the architecture ODI creates in the background, in order to support a source datasource/table that represents the XML file. I have created the following Topology to support the file:
!http://img2.imageshack.us/img2/6895/odiscr375.jpg!
As you can see, I've associated the XML file with a physical schema called ODI_XML. This represents a schema owned by my Oracle Database.
Now, when I check the XML file data in ODI Designer, I notice that it's based on this query:
select * from ODI_XML.TRADE
I've checked the ODI_XML database schema, and there is neither a table nor any other objects named TRADE. My next question is therefore:
*2. Was I correct to assign a database schema (named ODI_XML) to my XML Data Server, or should this have been something else? If so, what?*
Thanks in advance for any assistance.
James

Since you are using the Variable ,when you right click and view datastore its missing the required path of the file, as value of the variable is not determined , to do so you need to either refresh or set the variable and call the interface or other ODI objects and in loop keep reading XML files one by one and that should work.

Similar Messages

  • Bug in Flash Professional CC when launching debug launcher xml file handle not released

    There appears to be a bug in either Adobe Flash Professional CC, or ADL when launching debug launcher for an AIR application Flash Professional CC automatically generates or updates the XML app descriptor file. The bug is that Flash Professional is not immedately releasing the file handle to the app descriptor XML file.
    This bug was introduced in Flash Professional CC (Windows). It did not occur in CS5.5 or CS5.
    The question is whether this is a bug related to the ADL, or if this bug is related specifically to Flash Professional CC (Windows).
    Either way, where and how do I appropriately report this bug?

    Hi Dharmendra,
    Thank you for the solution. It is not what I expected, but it might look like a solution that "could" be applied.
    There is still one problem with this approach. If I still use a movie with radial gradient within the bitmap, the same exact problem could occur again.
    I was trying to understand if I did something wrong in my code, or it was a bug in the Flash software. I still find weird that I get different results by drawing a movie clip at different positions on a bitmap object. How can the drawing position change if the movie clip is drawn or not drawn? Why does it make mathematical patterns? I guess it has something to do with the precision numbers.
    Meanwhile, I did a few extra tests. I tried a new approach with Blur and Glow effects. That is not exactly what I want, but it seems to create a transparent gradient. I might consider this approach if the basic radial gradient does not work. I also created a gradient transparency circle bitmap in Photoshop that I imported into my movie clip. It worked. So, at the moment I have two solutions that seem to be working.
    I would appreciate if you could investigate the original problem. It looks like there is a problem in the rendering of Flash. Workarounds are fine sometimes, but I do not expect to developer programs on workarounds.

  • Dynamic XML file names in ODI

    Hi All,
    Is there a way can we call the XML names dynamically.?
    Here is the Scenario,
    I have multiple XML files of same structure to be loaded into an Oracle table.
    I have first created a XML dataserver and have given the exact path and the file name for reversing the XML model for the first time. The JDBC url was,
    jdbc:snps:xml?f=/xml/file/#XML_TEST.FILE_TEST.xml&s=XML_TEST&dod=true&ro=true
    After reversing i have changed the JDBC url of the XML dataserver to,
    jdbc:snps:xml?f=/xml/file/#XML_TEST.var_FILE_NAME.xml&s=XML_TEST&dod=true&ro=true
    I have created a variable *#XML_TEST.var_FILE_NAME* to get all the XML file names.
    After that i tried to view the data from the datastores present under previously reversed XML model, but was getting the following error :
    java.sql.SQLException: While generating the DTD from the XML file, a org.xml.sax.SAXParseException exception occurred saying: Document root element is missing.
    Do I need to change anything in the XML model or in the Datastores?
    Warm Regards,
    VBV

    Since you are using the Variable ,when you right click and view datastore its missing the required path of the file, as value of the variable is not determined , to do so you need to either refresh or set the variable and call the interface or other ODI objects and in loop keep reading XML files one by one and that should work.

  • Xml file handling

    I’m working on File to file scenario.
    My source file is xml file.
    What sort of prerequisites I need to do before processing this file.
    I maintained the source file structure similar to xml file structure, do I need to maintain same attributes/tag names of source file in source format?

    Hi Michal,
    I think i'm not properly expressed my doubt.
    <u>My source file is:</u>
    <ABC xmlns = "http" xmlns:xsi="http" xsi:scemaloc ="https"
    <Docheader>
    <Docdetail> 1..n
    <docsummery>
    </ABC>
    I created the source format as follows:
    <Recordset>
    <Docheader>
    <Docdetail>1..n
    <Docsummery>
    </recordset>
    <u>Problem:</u>
    Problem is when i map these source file to target flat file.the source fileds are suppressing.
    bcz of this i'm getting error message
    "Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd"
    Thanks,
    venu

  • Applet xml file handling

    Long time application coder, first time appplet coder:
    I have an xml file that needs to be read by my applet (it contains a database).
    I'm trying to use this:
    URL url = new URL("http://(the file on my webpage)");
    XMLDecoder decoder = new XMLDecoder(new BufferedInputStream(url.openStream()));Which gives me the error:
    java.security.AccessControlException: access denied (java.net SocketPermission ...)
    Anyone have an idea what I'm doing wrong? I've tried several different things which don't seem to work.

    This is due to the security feature of Java. In order to solve your problem, you need to sign your Java Applet, or setup the security policy by the policytool in the client side.
    For more information, please read:
    http://java.sun.com/docs/books/tutorial/deployment/applet/security_practical.html

  • What is the file size that ODI can handle

    Hi all,
    What is the file size that ODI can handle ?????????
    can it handle 1GB files without any issues?????????
    Thanks
    Phani

    Hi Phani,
    It also depends on the type of file you are transfering. If have used the XML file around 1GB and the performance is very low. But we used the Database schema to load the XML data and the performance had increased very well.
    I never tried the large flat files load around 1GB.
    Thanks,
    Yellanki

  • Is it possible for ODi to do a "https post" of an xml file?

    Hi,
    We would like to use ODI to read from a VIEW and within ODI transform to a target using an XSD to generate an XML file and then do a HTTPS POST. Would be grateful for any pointers.
    we also ran into issues while transforming using a target xsd. Listed below:
    Use Case Context: In an ODI interface, Data from a database view is mapped to a target XSD schema. A package is then created, wherein, in the first step, this interface is executed. Then, in the second and final step, data transferred to the target XSD schema is saved as an XML file using OdiSqlUnload function.
    Problems faced in the above mentioned use case:
    When the data from the target XSD schema is saved as an XML file using OdiSqlUnload function, the XML does not match the XSD, which was initially imported into ODI.
    Regards
    Shema

    Ask them!  Product Feedback
    This is a user to user forum.  We are all end users like yourself.  Know one here knows what Apple is going to do.

  • Error handling in parsing XML files.

    Hi.
    Is it possible to handle the error generated by DocumentBuilder elsewhere, as it parses down an XML file? In my test-program, I am parsing (using SAX) an XML file, and testing whether it is valid under a certain schema. If it is valid, I would then generate a console-output tree of the XML file. Otherwise, it would just display the error messages (wherever they are in the XML file).
    This is what I have.
    import java.io.IOException;
    import javax.xml.parsers.*;
    import org.w3c.dom.*;
    import org.xml.sax.SAXException;
    import java.util.*;
    public class XMLTester {
        private Document document;
        private boolean state = true;
        public XMLTester() { }
        public static final void main(String[] args) {
            if ( args.length != 1 ) {
                System.out.println("Usage: java XmlTester myFile.xml");
                System.exit(-1);
            String xmlFile = args[0];
            XMLTester xmltester ;
            xmltester = new XMLTester();  
            xmltester.parseFile(xmlFile);
            if (xmltester.isValidXML() ) {
                 xmltester.printContents());
        public void parseFile(String xmlFile)/* throws ParserConfigurationException,
                            SAXException, IOException */{
        try {
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            factory.setNamespaceAware(true);
            factory.setValidating(true);
            factory.setAttribute(
                      "http://java.sun.com/xml/jaxp/properties/schemaLanguage",
                      "http://www.w3.org/2001/XMLSchema");
               DocumentBuilder builder = factory.newDocumentBuilder();
                document = builder.parse(xmlFile);
        } catch (Exception ex) {
             //ex.printStackTrace();
             state = false;
        public boolean isValidXML() {
             return state;
        //..print-out methods here..
    }Thanks!

    Nevermind.. I figured it out after a few thoughts.

  • Is this a good way for loading and handling an xml file?

    I'm new to xml files, but it seems to me that a good way to handle them may be this:
    - create an xmltype table with a unique xmltype column
    - load the xml file in the xmltype column of the table
    - writing a procedure for scanning the whole column of the table by using the extractvalue built-in function for inserting the different nodes of the xml file (just loaded) in the final tables (to link correctly the father and son tags with foreign keys)
    Does it seem to you a good way to load the nodes of a xml file in a relation database?
    Thanks!

    Is this the 10gR2 Express Edition you mentioned over in How to load a XML file into a table or a different version?

  • I want to load large raw XML file in firefox and parse by DOM. But, for large XML file the firefox very slow some time crashed . Is there any option to increase DOM handling memory in Firefox

    Actually i am using an off-line form to load very large XML file and using firefox to load that form. But, its taking more time to load and some time the browser crashed. through DOM parsing this XML file to my form. Is there any option to increase DOM handler size in firefox

    Thank you for your suggestion. I have a question,
    though. If I use a relational database and try to
    access it for EACH and EVERY click the user makes,
    wouldn't that take much time to populate the page with
    data?
    Isn't XML store more efficient here? Please reply me.You have the choice of reading a small number of records (10 children per element?) from a database, or parsing multiple megabytes. Reading 10 records from a database should take maybe 100 milliseconds (1/10 of a second). I have written a web application that reads several hundred records and returns them with acceptable response time, and I am no expert. To parse an XML file of many megabytes... you have already tried this, so you know how long it takes, right? If you haven't tried it then you should. It's possible to waste a lot of time considering alternatives -- the term is "analysis paralysis". Speculating on how fast something might be doesn't get you very far.

  • Make a sort with ODI while generating XML File

    Hi all,
    I made a package whith several interfaces and a treatment.
    Each interface targets a table in my XML schema and the final treatment is a CreateXMLFile.
    Everything goes well, my XML file is generated :D
    Now I'd like to make a sort in an XML element. I know how to order the elements between them but can't find a way to sort a specific element. Excuse my poor english, I'm not really clear...
    My XML is built like this :
    <root>
    <questions>
    <question>
    <questionnumber>1</questionnumber>
    </question>
    <question>
    <questionnumber>2</questionnumber>
    </question>
    <questions>
    <root>
    So my problem is to make the questionnumber ordered.
    I tried to modify the IKM SQL Incremental Update to add a ORDER BY in the "Insert new rows" step.
    The generated code is executed with success... but in the end, my XML file is not sorted :S
    So first question, do you have an idea to be able to view the data in my XML schema tables ? This schema is stored in the memory engine and not in an external base. I ask that because when you try to execute the query "select * from XMLSchema.XMLTable" in the Operator, it appears you get the datas you had when the schema had been reversed. Idem when you try to view the datas in datastore. So first of all I'd like to do this control to be sure my order by is taken into account.
    Second question, do you know how the Odi XML driver builds the XML File with the command CreateXMLFile, because I think that my XML table is well sorted but that the CreateXMLFile doesn't repect this order. I checked the driver tutorial but couldn't find any help on that subject.
    So if anyone has got an idea to help me, I would appreciate a lot.
    Thanks,
    Thierry

    Still searching but without success

  • ODI Error while XML file to DB insertion scenario

    I am trying to excute a scenario where it reads the XML file and inserts into the database.I am getting the below error, but I do have the complete write permission on the folders where the XML and XSD files reside.
    Is this error points to verify the user permission in database side?Please help.
    Caused By: java.sql.SQLException: ODI-40844: Could not generate the DTD because the file could not be created. Verify that you have write permission in the directory.
         at com.sunopsis.jdbc.driver.xml.SnpsXmlSchema.generateDTD(SnpsXmlSchema.java:853)
         at com.sunopsis.jdbc.driver.xml.SnpsXmlSchema.<init>(SnpsXmlSchema.java:483)
         at com.sunopsis.jdbc.driver.xml.SnpsXmlSchemaManager.createNewSchema(SnpsXmlSchemaManager.java:295)
         at com.sunopsis.jdbc.driver.xml.SnpsXmlSchemaManager.getSchemaFromProperties(SnpsXmlSchemaManager.java:273)
         at com.sunopsis.jdbc.driver.xml.SnpsXmlConnection.internalExecute(SnpsXmlConnection.java:617)
         at com.sunopsis.jdbc.driver.xml.SnpsXmlPreparedStatement.execute(SnpsXmlPreparedStatement.java:46)
         at oracle.odi.runtime.agent.execution.sql.SQLCommand.execute(SQLCommand.java:166)
         at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:102)
         at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:1)
         at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
    Edited by: user8845111 on Nov 30, 2012 8:47 AM

    Hi,
    What is you environment ?
    Windows ? Linux ?
    Maybe these posts can help you :
    Re: ODI 11g XML reverse engineer with remote agent problem
    XML file in Unix Server

  • How to handler 200MB - 600MB XML file

    I came into a problem to handle very big XML files using DOM or SAX. Is there any method I can build XMLDocument for such big files?

    You cannot use DOM to load such a large file unless you can free up 1 to 3 gigabytes of heap memory. You could write special-purpose programs that used SAX to parse it as long as you were careful not to accumulate data in memory. You may want to seriously consider storing the data in some other format.

  • ODI not reading XML file

    Hi All,
    Im working on implementing Oracle PIP with ODI.
    Im not able to access an XML file within ODI. The Physical architecture is set to the correct directory, filename etc.
    It was working fine before until recently we restarted the agent & re-encoded the passwords for Supervisor & Master Rep accounts.
    It now shows "table not found: ORA - account is locked" or "invalid username/password - login denied" error when I try to view the data of the datastores within the Model (whose source is the XML file).
    Any thoughts?
    Thanks,
    Ruby

    Does you XML file use an external database store ? Maybe the db password in that file wasnt changed

  • Handle multiple xml files as input?

    I have a java parser which uses JDOM and translates xml file to a flat file. Currently it handles one file at a time. I want to handle if there are multiple such files. Have anyone of you encountered that?
    Could you please help? Thanks.....

    How about multiple xml files as argument and let your Java class handle them one by one?
    Or probably even better: it should be possible to get all the names of the xml files in a directory and let you class handle those one by one. Like this you don't need the arguments and just process all the xml files in maybe a dedicated directory.
    Kind regards,
    Hans.

Maybe you are looking for

  • Bank Statement for Reconciliation

    Dear All, What is the disadvantage if we can use Electronic Bank Transfer for Bank Reconciliation. There are two main obstacles in Customizing to quick and efficient installation of the electronic bank statement: Creating the files UMSATZ.TXT and AUS

  • How to use seagate external drive with Mac

    i have just purchased a SEAGATE EXPANSION EXTERNAL DRIVE, USB 3.0...can i use it with my Mac OXS....10.7.4....

  • SOAP -- XI -- RFC , Duplicate check . BPM is Mandatory??

    Hi All, I haven't worked on BPM's.One of the consultant has developed this scenario by using BPM. Kindly let me know whether we can acheive it without using BPM. Scenario: We will be receving the messages from the webservice through SOAP adapter and

  • Open cur for .. using

    Hi, my stmt does not give me any results and i don't how to find the error. It must have to do with the using clause as the statement works, if i call it directly.   procedure p_get_unique_key      p_owner varchar2    , p_table_name varchar2   IS    

  • EPS preview in high quality?

    I am needing to create EPS files that have high quality previews. I can do this in other programs with WMF previews. Is there any way to achieve this in Illustrator CS2 or CS? Thanks in advance.