Query in Data server of XML Technology
Hello,
We are doing Database to XML Transformation.we are achieving this successfully.
But we are facing problem in XSD placeholder in target data server i.e XML Data server
First time we mentioned absolute path of XSD and got target datastore by reverse engineer XSD structure.
if i export my project and model into another machine.Then at another machine if i run my package i am getting error like
Caused By: java.sql.SQLException: As no XML and no DTD were provided, the XML schema cannot be created
1)
My confusion is here, why every time during execution there is a need of XSD,because XSD represent the structure of XML file
And that structure ,i already imported in another machine i.e target model
2)
if there is need , then Can we embedd XSD with importing of project and model so that whenever we export that project model in another machine ,my XSD also imported .
3) OR
Is there any default location of data server of XML technology where agent will go for finding XSD ?
if more information required,let us know.
please suggest.
I haven't tried this myself but give this a go:
1. In Word, highlight the Title Row
2. Then go to Table > Repeat Header Rows. In Word 2007+ the Repeat Header Rows button is under the Layout section.
3. Save, upload and re-run.
Do the table headers now repeat?
I believe this post will also help you: Header table to repeat on every page
Similar Messages
-
What should i put in Schme while creating Data server for XML
I am new to XML and ODI also.
I was trying to create a data server for XML technology.
I don't know what should i specify as a schmea in JDBC URL.
e.g. jdbc:snps:xml?f=../demo/xml/1/file.xml&ro=false&ldoc=true&case_sens=true&s=LEO_FIZ&dod=true
here schema is LEO_FIZ, so my doubts is LEO_FIZ is a database schema or what ??
Please help me out.The schema referred to here is going to be used by the XML driver for the instantiation of the temporary schema used for the xml data. It can be any name, I recommend you keep it short, as if you use an external database for the XML data instantiation it is used as a part of the "table" names.
-
Error of Creating Data Server for XML
Hi all,
When I want to create a new data server for XML in ODI, the error occur.
error information:
connection failed
java.sql.SQLException: Unexpected token: EMP_TABLE in statement [create EMP_TABLE]
My JDBC url is: jdbc:snps:xml?f=../demo/xml/MOP/MOPEMP.xml&rt=Export&ro=false&case_sens=true&s=EMP
It seems that the error is caused by the schema "EMP". But when I changed the name of schema, the error still occur...
Could you give me some advices about this?
Thanks&Regards
YanHi,
Thans for your reply.
This is the DTD for my xmldoc.
<!ELEMENT Data (Department+)>
<!ELEMENT EmployeeID (#PCDATA)>
<!ATTLIST EmployeeID col (EMPID) #IMPLIED>
<!ELEMENT Education (EmployeeID, Sequence, Dgree)>
<!ATTLIST Education table NMTOKEN #IMPLIED>
<!ELEMENT Employee (EmployeeName, EmployeeID, DepartmentID, Education*)>
<!ATTLIST Employee table NMTOKEN #IMPLIED>
<!ELEMENT EmployeeName (#PCDATA)>
<!ATTLIST EmployeeName col NMTOKEN #IMPLIED>
<!ELEMENT DepartName (#PCDATA)>
<!ATTLIST DepartName col NMTOKEN #IMPLIED>
<!ELEMENT Table (Column+)>
<!ATTLIST Table importType NMTOKEN #IMPLIED>
<!ATTLIST Table parentTable NMTOKEN #IMPLIED>
<!ATTLIST Table tag NMTOKEN #IMPLIED>
<!ATTLIST Table columns NMTOKEN #IMPLIED>
<!ATTLIST Table name NMTOKEN #IMPLIED>
<!ELEMENT DepartID (#PCDATA)>
<!ATTLIST DepartID col NMTOKEN #IMPLIED>
<!ELEMENT MetaData (Table+)>
<!ELEMENT Sequence (#PCDATA)>
<!ATTLIST Sequence col NMTOKEN #IMPLIED>
<!ELEMENT Dgree (#PCDATA)>
<!ATTLIST Dgree col NMTOKEN #IMPLIED>
<!ELEMENT Export (MetaData, Data)>
<!ELEMENT DepartmentID (#PCDATA)>
<!ATTLIST DepartmentID col NMTOKEN #IMPLIED>
<!ELEMENT Column (#PCDATA)>
<!ATTLIST Column deleteKey NMTOKEN #IMPLIED>
<!ATTLIST Column isKey NMTOKEN #IMPLIED>
<!ELEMENT Department (DepartName, DepartID, Employee+)>
<!ATTLIST Department table NMTOKEN #IMPLIED>
Thanks again!
Yan -
Issue in creating data server for xml in ODI
Hi,
I have a XMl which has a size around 95 MB. When i tried to create data server in ODI for this xml file.
I encounter below error,
"oracle.odi.jdbc.datasource.ConnectionTimeoutException: A login timeout occured while connecting to the database
at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.doGetConnection(LoginTimeoutDatasourceAdapter.java:117)
at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.getConnection(LoginTimeoutDatasourceAdapter.java:62)
at com.sunopsis.sql.SnpsConnection.testConnection(SnpsConnection.java:1125)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.getLocalConnect(SnpsDialogTestConnet.java:163)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.access$4(SnpsDialogTestConnet.java:159)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet$4.doInBackground(SnpsDialogTestConnet.java:520)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet$4.doInBackground(SnpsDialogTestConnet.java:1)
at oracle.odi.ui.framework.AbsUIRunnableTask.run(AbsUIRunnableTask.java:258)
at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:656)
at java.lang.Thread.run(Thread.java:662)"
Kindly let me know what should i do for resolving the error.
Thanks and Regards,
Ida Jebakirubai S.Yes Phil i am able to create a data server for xml files which are of smaller in size(in KB). And i can use the files in the interface as well.
When i using this large file only i am getting this error.
Please suggest.
Thanks and Regards,
Ida. -
Namespace not found error when creating data server for xml with namespace
Hi
I tried creating XML data server in ODI with namespace in xml file. I followed the below steps but could not success in creating the dataserver. however when I remove the namespace in xml file I am able to reverse engineer the xml file.
1) Create xml data server
2) select xml driver - com.sunopsis.jdbc.driver.xml.SnpsXmlDriver
3) Provide the jdbc url - jdbc:snps:xml?f=D:/xmlnew/sample_namespace.xml&s=xmlns&d=D:/xmlnew/sample_namespace.dtd
xml content
<f:root xmlns:f="http://www.w3.org/TR/html4/">
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
</f:root>
DTD content
<!ELEMENT f:root ( table ) >
<!ELEMENT length ( #PCDATA ) >
<!ELEMENT name ( #PCDATA ) >
<!ELEMENT table ( name, width, length ) >
<!ELEMENT width ( #PCDATA ) >
when I test connection it shows the following error.
java.sql.SQLException: The model generated by the model mapper was not accepted by a validator: Model not accepted: Namespace not found:
at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.doGetConnection(LoginTimeoutDatasourceAdapter.java:133)
at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.getConnection(LoginTimeoutDatasourceAdapter.java:62)
at com.sunopsis.sql.SnpsConnection.testConnection(SnpsConnection.java:1100)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.getLocalConnect(SnpsDialogTestConnet.java:371)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.localConnect(SnpsDialogTestConnet.java:794)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.jButtonTest_ActionPerformed(SnpsDialogTestConnet.java:754)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.connEtoC1(SnpsDialogTestConnet.java:137)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.access$1(SnpsDialogTestConnet.java:133)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet$IvjEventHandler.actionPerformed(SnpsDialogTestConnet.java:87)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6289)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6054)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4652)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:603)
at java.awt.EventQueue$1.run(EventQueue.java:601)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:617)
at java.awt.EventQueue$2.run(EventQueue.java:615)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.sql.SQLException: The model generated by the model mapper was not accepted by a validator: Model not accepted: Namespace not found:
at com.sunopsis.jdbc.driver.xml.SnpsXmlDTD.initialize(SnpsXmlDTD.java:389)
at com.sunopsis.jdbc.driver.xml.SnpsXmlDTD.initialize(SnpsXmlDTD.java:421)
at com.sunopsis.jdbc.driver.xml.SnpsXmlDTD.<init>(SnpsXmlDTD.java:150)
at com.sunopsis.jdbc.driver.xml.SnpsXmlSchema.<init>(SnpsXmlSchema.java:478)
at com.sunopsis.jdbc.driver.xml.SnpsXmlSchemaManager.createNewSchema(SnpsXmlSchemaManager.java:292)
at com.sunopsis.jdbc.driver.xml.SnpsXmlSchemaManager.getSchemaFromProperties(SnpsXmlSchemaManager.java:270)
at com.sunopsis.jdbc.driver.xml.SnpsXmlDriver.connect(SnpsXmlDriver.java:114)
at oracle.odi.jdbc.datasource.DriverManagerUtils$DriverProxy.connect(DriverManagerUtils.java:23)
at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:368)
at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:352)
at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:316)
at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:275)
at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.doGetConnection(LoginTimeoutDatasourceAdapter.java:99)
at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.getConnection(LoginTimeoutDatasourceAdapter.java:62)
at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter$ConnectionProcessor.run(LoginTimeoutDatasourceAdapter.java:217)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)Hi,
Thans for your reply.
This is the DTD for my xmldoc.
<!ELEMENT Data (Department+)>
<!ELEMENT EmployeeID (#PCDATA)>
<!ATTLIST EmployeeID col (EMPID) #IMPLIED>
<!ELEMENT Education (EmployeeID, Sequence, Dgree)>
<!ATTLIST Education table NMTOKEN #IMPLIED>
<!ELEMENT Employee (EmployeeName, EmployeeID, DepartmentID, Education*)>
<!ATTLIST Employee table NMTOKEN #IMPLIED>
<!ELEMENT EmployeeName (#PCDATA)>
<!ATTLIST EmployeeName col NMTOKEN #IMPLIED>
<!ELEMENT DepartName (#PCDATA)>
<!ATTLIST DepartName col NMTOKEN #IMPLIED>
<!ELEMENT Table (Column+)>
<!ATTLIST Table importType NMTOKEN #IMPLIED>
<!ATTLIST Table parentTable NMTOKEN #IMPLIED>
<!ATTLIST Table tag NMTOKEN #IMPLIED>
<!ATTLIST Table columns NMTOKEN #IMPLIED>
<!ATTLIST Table name NMTOKEN #IMPLIED>
<!ELEMENT DepartID (#PCDATA)>
<!ATTLIST DepartID col NMTOKEN #IMPLIED>
<!ELEMENT MetaData (Table+)>
<!ELEMENT Sequence (#PCDATA)>
<!ATTLIST Sequence col NMTOKEN #IMPLIED>
<!ELEMENT Dgree (#PCDATA)>
<!ATTLIST Dgree col NMTOKEN #IMPLIED>
<!ELEMENT Export (MetaData, Data)>
<!ELEMENT DepartmentID (#PCDATA)>
<!ATTLIST DepartmentID col NMTOKEN #IMPLIED>
<!ELEMENT Column (#PCDATA)>
<!ATTLIST Column deleteKey NMTOKEN #IMPLIED>
<!ATTLIST Column isKey NMTOKEN #IMPLIED>
<!ELEMENT Department (DepartName, DepartID, Employee+)>
<!ATTLIST Department table NMTOKEN #IMPLIED>
Thanks again!
Yan -
Unable to create a data server for xml file
Hi ,
I have created a data server for a xml file but when i test the connection i am getting the below error.
java.sql.SQLException: class org.xml.sax.SAXException
Prefix not found: xsi
at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.doGetConnection(LoginTimeoutDatasourceAdapter.java:133)
at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.getConnection(LoginTimeoutDatasourceAdapter.java:62)
at com.sunopsis.sql.SnpsConnection.testConnection(SnpsConnection.java:1100)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.getLocalConnect(SnpsDialogTestConnet.java:371)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.localConnect(SnpsDialogTestConnet.java:794)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.jButtonTest_ActionPerformed(SnpsDialogTestConnet.java:754)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.connEtoC1(SnpsDialogTestConnet.java:137)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.access$1(SnpsDialogTestConnet.java:133)
at com.sunopsis.graphical.dialog.SnpsDialogTestConnet$IvjEventHandler.actionPerformed(SnpsDialogTestConnet.java:87)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Can any one help me out with this issue ?
Thanks in advance,
BalajitkHI Balaji,
Below is the sample xml file which i have saved as test.xml and placed it @ D: drive
Test.xml:
<employee>
<emp>
<eno>1</eno>
<ename>Test1</ename>
</emp>
<emp>
<eno>2</eno>
<ename>Test2</ename>
</emp>
<emp>
<eno>2</eno>
<ename>Test2</ename>
</emp>
</employee>
Goto Topology >Expand Technologues>right click on XML and select new data source
in Defination Tab, provide the physical architecture name
in JDBC Tab, provide the below details
JDBC Driver: com.sunopsis.jdbc.driver.xml.SnpsXmlDriver
JDBC URL: jdbc:snps:xml?f=d:\test.xml&d=test.dtd&re=employee&s=TEST&ro=false
Save it
Click on Test Connection and again click on test, it should show test connection as "Successfully Test"
Hope this may helps you
Regards,
Phanikanth -
Problem with the creation of the date server with the technology Mysql
Hi,
I have installed date integrator 11.1.1.5.
I have installed oracle database 11.2
I have installed mysql 5.1.41 with xamp
I have created the repository master and work.
I have created data server for oracle .
ok all correct
I have created the date server for mysql but I cannot insert the data for jdbc (why ? where insert data ?) when except it creates me the date server.
but when I try to add a physical schema me from this error and I don't see the list of the schema.
java.lang.NoClassDefFoundError: bsh/EvalError
at com.sunopsis.jdbc.driver.JavaDriver.connect(JavaDriver.java:80)
at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:409)
at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:385)
at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:352)
at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:331)
at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter$ConnectionProcessor.run(LoginTimeoutDatasourceAdapter.java:217)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
how can I resolve my problem?
thank you for help and cooperation.
gabrieleHi,
A sub asset master can be created with AS11 only.
You cannot create a asset sub number under a main asset number, in the case, where different set of dep areas needs to be maintained.
When you create a sub asset, all the dep areas will be copied to sub asset's master from main asset master. Since this set of dep areas cannot be different from main asset to sub asset.
Hopw you understood this.
Thanks,
Srinu. -
Hi,
I am trying to create a dataserver for xml using following info:
jdbc driver: com.sunopsis.jdbc.driver.xml.SnpsXmlDriver
jdbc url: jdbc:snps:xml?f=C:/Day_Dim.xml&re=Year&ro=false&case_sens=true
But I am getting following error: "Connection Closed"
Please help.
Thanks,
MonikaHi,
Thans for your reply.
This is the DTD for my xmldoc.
<!ELEMENT Data (Department+)>
<!ELEMENT EmployeeID (#PCDATA)>
<!ATTLIST EmployeeID col (EMPID) #IMPLIED>
<!ELEMENT Education (EmployeeID, Sequence, Dgree)>
<!ATTLIST Education table NMTOKEN #IMPLIED>
<!ELEMENT Employee (EmployeeName, EmployeeID, DepartmentID, Education*)>
<!ATTLIST Employee table NMTOKEN #IMPLIED>
<!ELEMENT EmployeeName (#PCDATA)>
<!ATTLIST EmployeeName col NMTOKEN #IMPLIED>
<!ELEMENT DepartName (#PCDATA)>
<!ATTLIST DepartName col NMTOKEN #IMPLIED>
<!ELEMENT Table (Column+)>
<!ATTLIST Table importType NMTOKEN #IMPLIED>
<!ATTLIST Table parentTable NMTOKEN #IMPLIED>
<!ATTLIST Table tag NMTOKEN #IMPLIED>
<!ATTLIST Table columns NMTOKEN #IMPLIED>
<!ATTLIST Table name NMTOKEN #IMPLIED>
<!ELEMENT DepartID (#PCDATA)>
<!ATTLIST DepartID col NMTOKEN #IMPLIED>
<!ELEMENT MetaData (Table+)>
<!ELEMENT Sequence (#PCDATA)>
<!ATTLIST Sequence col NMTOKEN #IMPLIED>
<!ELEMENT Dgree (#PCDATA)>
<!ATTLIST Dgree col NMTOKEN #IMPLIED>
<!ELEMENT Export (MetaData, Data)>
<!ELEMENT DepartmentID (#PCDATA)>
<!ATTLIST DepartmentID col NMTOKEN #IMPLIED>
<!ELEMENT Column (#PCDATA)>
<!ATTLIST Column deleteKey NMTOKEN #IMPLIED>
<!ATTLIST Column isKey NMTOKEN #IMPLIED>
<!ELEMENT Department (DepartName, DepartID, Employee+)>
<!ATTLIST Department table NMTOKEN #IMPLIED>
Thanks again!
Yan -
I Re: New ODI User having trouble creating an XML Data Source... a couple of weeks ago regarding some troubles I've been having inserting an XML Data Server in the Topology Manager. Unfortunately I'm still having some problems. I thought I'd start a new thread with more detail than the last. Thanks for the responses in advance.
I followed this guide: [ODI XML to Database Transformation|http://www.oracle.com/technology/obe/fusion_middleware/ODI/ODIXML_to_DB_Transform/ODIXML_to_DB_Transform.htm] , which was helpful, but since it used example XML files it did not go into how to use your own custom XML file.
Let me start off by sharing the XSD file I'm using:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://insurance.oracle.com/schema/Money"
xmlns:tns="http://insurance.oracle.com/schema/Money"
elementFormDefault="qualified">
<xs:element name="MoneyInReport" type="tns:ReportType"></xs:element>
<xs:element name="MoneyOutReport" type="tns:ReportType"/>
<xs:element name="Money" type="tns:MoneyType"/>
<xs:complexType name="ReportType">
<xs:sequence>
<xs:element name="Money" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MoneyType">
<xs:sequence>
<xs:element name="MoneyID" type="xs:string">
<xs:annotation>
<xs:documentation>A unique identifier for this transaction.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ContractID" type="xs:string">
<xs:annotation>
<xs:documentation>Since OIPA will be providing the contract data to RMB initially this will the OIPA key.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EffectiveDate" type="xs:dateTime">
<xs:annotation>
<xs:documentation>The date the money should be applied to the policy.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MessageDate" type="xs:dateTime">
<xs:annotation>
<xs:documentation>The date this message was created.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ReversalIndicator" type="xs:boolean">
<xs:annotation>
<xs:documentation>If true, then a reversal of a previous Money event. In this case, the PriorMoneyID must be populated.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PriorMoneyID" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>If populated, must contain the value of a prior MoneyID record being reversed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Amount" type="xs:decimal"/>
<xs:element name="MoneyType" type="xs:integer">
<xs:annotation>
<xs:documentation>The money type code for this record. Loosely corresponds to the purpose of the money as opposed to its source. A final list of money types is TBD.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ExchangeDetails" minOccurs="0">
<xs:annotation>
<xs:documentation>These tags provide additional details when the MoneyType indicates a 1035 Exchange.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="CostBasis" type="xs:decimal"/>
<xs:element name="ExchangeType" type="xs:integer"/>
<xs:element name="MEC" type="xs:boolean"/>
<xs:element name="LoanAmount" type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>Here is the "Sample XML" file that I generated based on this XSD file using Oxygen XML Editor:
<?xml version="1.0" encoding="UTF-8"?>
<Money xmlns="http://insurance.oracle.com/schema/Money"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://insurance.oracle.com/schema/Money file:/C:/OraHome_1/oracledi/demo/xml/Money.xsd">
<MoneyID>MoneyID0</MoneyID>
<ContractID>ContractID0</ContractID>
<EffectiveDate>2006-05-04T18:13:51.0Z</EffectiveDate>
<MessageDate>2006-05-04T18:13:51.0Z</MessageDate>
<ReversalIndicator>false</ReversalIndicator>
<PriorMoneyID>PriorMoneyID0</PriorMoneyID>
<Amount>0</Amount>
<MoneyType>0</MoneyType>
<ExchangeDetails>
<CostBasis>0</CostBasis>
<ExchangeType>0</ExchangeType>
<MEC>false</MEC>
<LoanAmount>0</LoanAmount>
</ExchangeDetails>
</Money>So I go into Topology, select the "Physical Architecture" tab, right click "XML", click "Insert Data Server". I name my file "XML_MONEY", select the JDBC tab, and fill in the following fields:
JDBC Driver: com.sunopsis.jdbc.driver.xml.SnpsXmlDriver
JDBC Url: jdbc:snps:xml?f=../demo/xml/Money.xml
When I hit "Test", it gives me this annoying message:
java.sql.SQLException: Could not generate the DTD because the file could not be created. Verify that you have write permission in the directory.
I have no idea why. I definitely have permissions to write to that directory.
Following the advice in my previous threads, I tried some new JDBC Url values. Here are the results:
jdbc:snps:xml?d=../demo/xml/MONEY.xml&s=MONEY&rt=MONEY&ro=false
This gives me a "Successful Connection", however when I try to add a New Model and Reverse it, it does not generate any data. (Sometimes this gives me an error, other times it seems to "work" but generates no data/tables).
jdbc:snps:xml?d=../demo/xml/MONEY.xsd&s=MONEY&f=../demo/xml/MONEY.XML
This gives me the following error: java.lang.ArrayIndexOutOfBoundsException: 1
jdbc:snps:xml?d=../demo/xml/Money.xsd
This gives me the following error: java.lang.ArrayIndexOutOfBoundsException: 1
Does anyone know what I'm doing wrong here? I even tried following Sai Praneeth's example (from my Re: New ODI User having trouble creating an XML Data Source... thread) with his exact simple xml file, and that works fine. Is there something wrong with my XSD file? ANY help would be appreciated, as I'm completely lost. Thank you.I have some Interface Mapping questions I was hoping someone could help me with. As you know, my source is an XML File and my target is an OracleDB. I'll start with the "EFFECTIVEDATE" field which was automatically mapped when I added the Source and Target Datastores. As I previously mentioned, this caused an error "Target Column EFFECTIVEDATE: Data may be truncated: the target Column is smaller than the source Column". After looking further into it, would the problem be that the "EFFECTIVEDATE" datatype in the XML is "DATETIME" whereas the "EFFECTIVEDATE" datatype in the database is "TIMESTAMP"? If so, what would be the fix for this? Could I convert it in the Implemenation Mapping like so? -
CONVERT(MONEY.EFFECTIVEDATE,TIMESTAMP)
Would using that in the Implementation simply do the trick?
Anyway, moving onto some of the other TARGET fields...
-ACTIVITYGUID
This should be an automatically generated new GUID value. How could I implement this into the Implementation?
-TRANSACTIONGUID
I'll need to query some of the other tables in the database in order to get this value. Is this allowed in the Implemenation? Do I have to add said tables to the target somehow? Can I just query the other tables in the Implementation field using normal select statements, etc.? I'm a bit confused on how this would work...
-TYPECODE
This needs to be a fixed value of '01'. How do I simply do that in the Implementation?
The other fields will all be implemented similar to the above so those are the main questions I have for now. Any help would be appreciated.
Thanks again for your help. -
Create jms queue xml data server
Hi,
What's the difference between jms queue and jms queue xml data servers and how to create jms queue xml data server.
Thanks.Hello,
JMS messages can principally be processed by Oracle Data Integrator in two formats:
- JMS Messages: containers for rows of data, handled through JMS Queue/JMS Topic Technologies. With JMS Queue/JMS Topic technologies, each JMS destination is defined similarly to a flat file datastore. Each message in the destination is a record in the datastore.
- XML Messages: containers for XML files, handled through JMS XML Queue/JMS XML Topic Technologies. With JMS XML Queue/JMS XML Topic technologies, each messages payload contains a complete XML data structure. This structure is mapped into a relational schema (XML Schema) which appears as a model. This use the Oracle DI Driver for XML (see the driver documentation in Oracle DI documentation).
Find below a step by step creation process for such a destination:
1. Data Server
To create a JMS XML Queue data server, you declare a simple JNDI connection. The only JMS XML specific information is added to the URL. This information defines the XML file format.
The JNDI URL should be : <JMS_RESOURCE>?d=<DTD_FILE>&f=<XML_FILE>&s=<SCHEMA>&JMS_DESTINATION=<JMS_DESTINATION_NAME>
- JMS_RESOURCE: JNDI resource corresponding to your JMS queue that will contain the XML payload. You would specify this URL if you were managing normal JMS messages.
- DTD_FILE: path to a DTD file that describes the XML structure. Mandatory if the parameter XML_FILE is omitted.
- XML_FILE: path to the XML file with a structure similar to the expected XML messages. Mandatory if the DTD_FILE parameter is omitted.
- SCHEMA: schema name that will contain the XML structure. This value must match the one set for the physical schema attached to this data server. This parameter is mandatory.
- JMS_DESTINATION_NAME: name of the JMS queue or topic. This parameter is mandatory.
2. Schema
Creation is straightforward: In the Schema (Schema) and Schema (Work Schema), enter the name of the <SCHEMA> defined in the data server JNDI URL.
3. Model
Use standard reverse-engineering. As the Oracle DI Driver for XML is used the XML structure will be reversed as a relational structure.
Regards,
- FX -
Hello All,
We are using a two tier architecture.
Our Corp server calls the refinery server.
Our CORP MII server uses user id abc_user to connect to the refinery data server.
The user id abc_user has the SAP_xMII_Dynamic_Query role.
The data server also has the checkbox for allow dynamic query enabled.
But we are still getting the following error
Error has occurred while processing data stream
Dynamic Query role is not assigned to the Data Server; Use query template
Once we add the SAP_xMII_Dynamic_Query role to the data server everything works fine. Is this feature by design ?
Thanks,
KiranThanks Anushree !!
I thought that just adding the role to the user and enabling the dynamic query checkbox on the data server should work.
But we even needed to add the role to the data server.
Thanks,
Kiran -
ODI XML data server error while creating External databse tables.
Hi,
i am trying to create External database tables using XML data server.
i am getting the following error,i have done this same thing for small xml files before.
Java.sql.SQLException: ORA-00904: : invalid identifier
at com.sunopsis.jdbc.driver.xml.bz.execute(bz.java)
at com.sunopsis.jdbc.driver.xml.ca.execute(ca.java)
at com.sunopsis.xmlfifth.b.u.a(u.java)
at com.sunopsis.xmlfifth.b.bj.a(bj.java)
at com.sunopsis.xmlfifth.b.bj.a(bj.java)
at com.sunopsis.jdbc.driver.xml.u.a(u.java)
at com.sunopsis.jdbc.driver.xml.u.g(u.java)
Thanks,
RKRK,
With no details of how you configured the XML server, what were the parameters used in the configuration for using external database, etc, I dont know how much can someone help you.
This is an Oracle error, so a few things that could be problematic with your "big" xml -
1.) An element name could be of length > 30 characters (Oracle table name length limit is 30)
2.) There are some special characters in the element name
3.) Element name begins with a Number
4.) Element name is an Oracle reserved word.
This list can go on. -
Using XML File as a Data Server
OK - here's my scenario:
- Have an XML file that I am holding parameters (i.e log file folder) in
- I have set the XML file as a data server (which test connects OK) and created physical and logical schemas in Topology Manager
- In Designer, have created a data model for this file
What I am trying to do is populate/refresh a global variable with a value from the XML file; however, when I make a change to the value in the XML file, the value does not get passed into the variable.
In the global variable, it is set to refresh from the xml data source and in a package I am using a variable step set to refresh but still the data does not update with the current values in the file.
Couple of other things - if I go to the data model and view the data, it sees the value that is in the xml file but the variable is not getting the same value - it seems to be using some kind of cached value. Also, if I close any open ODI apps (Designer, Operator, etc.) and re-open, the values (sometimes) seem to reflect what is in the file.
Crux of the post - am I missing something so obvious that I cannot see it or has anyone else experienced this kind of issue.
Thanks,
GeeOK - I got this working but in order to do this I followed some info from another post and changed the structure of the XML.
Previously, it was structured as:
<params>
<param>
<name>Test1</name>
<value>Some Value</value>
</param>
<param>
<name>Test2</name>
<value>Some Value2</value>
</param>
</params>
Now I have changed it to:
<params>
<param name="Test1" value="Some Value" />
<param name="Test2" value="Some Value2" />
</params>
I also added the dod=true value into the JDCB url.
Now, one of these circumstances fixed my issue (of which I am very glad) but I don't know which one :-) .... and I currently don't have the time to find out.
I may investigate this further in the future (and post accordingly).
Thanks,
G -
ODI 11g : JMS Queue XML Data Server creation
Hi Everybody,
I am facing a problem while i am trying to create a JMS Queue XML data server in ODI 11g. I have
the following details of the queue.
QueueManager=xxx;
TransportType=1;
HostName=ab.cde.fe.com;Port=77777;
Channel=CLIENT.TO.xxx1
destination name : SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01
user : xyz
password : 123
I have sussefully created an jms datasouce in weblogic name 'eis/jms/abc' and also I have successfully
retrived the xml message from queue in BPEL
(using a jms adapter where
JMS Provider : Third Party,
Jms Provider Jndi Name -eis/jms/abc,
Operation name : consume_message,
destinamtion name is queue:///SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01?targetClient=1).
But the new reqirement is to retive the xml data in ODI using "JMS Queue XML data server".I have tried
several ways(reading from internet) but failed to configure physical dataserver and reverse the xml message.
Also failed to understand properly the oracle post (http://docs.oracle.com/cd/E21764_01/integrate.1111/e12644/jms_xml.htm#CHDFCFBI).
Speically this portion "JNDI URL: <JMS_RESOURCE>?d=<DTD_FILE>&s=<SCHEMA>&JMS_DESTINATION=<JMS_DESTINATION_NAME>.".
What will be the "JMS_RESOURCE" in my case.
How can I configure JMS Queue XML?
Please help!
Note : I don't have the XML message structure of the Queue(also DTD file). So , I have to reverse it.
Thanks & Regards,
Subhra
Message was edited by: SubhrajyotiKunduHi Everybody,
I am facing a problem while i am trying to create a JMS Queue XML data server in ODI 11g. I have
the following details of the queue.
QueueManager=xxx;
TransportType=1;
HostName=ab.cde.fe.com;Port=77777;
Channel=CLIENT.TO.xxx1
destination name : SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01
user : xyz
password : 123
I have sussefully created an jms datasouce in weblogic name 'eis/jms/abc' and also I have successfully
retrived the xml message from queue in BPEL
(using a jms adapter where
JMS Provider : Third Party,
Jms Provider Jndi Name -eis/jms/abc,
Operation name : consume_message,
destinamtion name is queue:///SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01?targetClient=1).
But the new reqirement is to retive the xml data in ODI using "JMS Queue XML data server".I have tried
several ways(reading from internet) but failed to configure physical dataserver and reverse the xml message.
Also failed to understand properly the oracle post (http://docs.oracle.com/cd/E21764_01/integrate.1111/e12644/jms_xml.htm#CHDFCFBI).
Speically this portion "JNDI URL: <JMS_RESOURCE>?d=<DTD_FILE>&s=<SCHEMA>&JMS_DESTINATION=<JMS_DESTINATION_NAME>.".
What will be the "JMS_RESOURCE" in my case.
How can I configure JMS Queue XML?
Please help!
Note : I don't have the XML message structure of the Queue(also DTD file). So , I have to reverse it.
Thanks & Regards,
Subhra
Message was edited by: SubhrajyotiKundu -
Problem with inserting XML data server in ODI
Hi,
I was trying to insert an XML data server in ODI. I want to use it for my target database.i.e i want my target to be an xml file. So while specifying the url in the data server, what should i mention as the file name,dtd file , root etc? what i have done is dat i hav created the dtd file as per my requirement.i have created an empty xml file. while testing the connection an error comes : java.sql.SQLException: A parsing exception occurred saying Whitespace required..
Next i tried putting jz d root tags in the xml file without any content. this returned the same error. next i tried inserting all d tags as per my dtd file. same error came...
Please help.
Regards,
Divya
Message was edited by:
Divya PadmanabhanFor empty xml try to use:
<?xml version="1.0" encoding="UTF-8"?>
<ROOT_SOME></ROOT_SOME>
as jdbc connect string:
jdbc:snps:xml?f=../demo/xml/1/file.xml&ro=false&ldoc=true&case_sens=true&s=LEO_FIZ&dod=true
and try again...
Maybe you are looking for
-
Adobe Premiere and After Effects CS6 installer failed to initialize on Mac Book Air
Hi everybody, I'm trying to install Adobe Premiere and After Effects CS6 for at least a month now. I have downloaded the .dmg file at the Adobe Website and it starts to initializing the installer, then a error show up: "The installer could not initia
-
Delete G/L Accounts for one company code when transaction data exists
SAP transaction OBR1 can be used to reset transaction data. If you execute this transaction for a specific company code, the FI transaction data of that company is deleted. Because of the procedure to keep FI and CO in line, also the CO data has te b
-
Quality inspection option in delivery tab in purchase order.
Dear QM gurus , We have a requirement in which the user is making an Stock transfer PO and he wants the default selection of quality inspection in delivery tab of PO . Kindly note that we have already activated the inspection types(including 01 with
-
I get an "SSL" error when trying to configure my mail settings with Gmail.
I have been trying to configure Gmail on my IPod and I keep getting a message that it cannot connect with SSL. I did not have this problem on my old IPod, which I replaced recently. I restored the settings on my new IPod from a backup on my computer
-
Fetch Admin Roles from User Object
Hi, I have user object from which I need to fetch name of all Admin roles a user is having. I tried this method - getExpandedAdminGroupRefs() but its returning me null. getAttribute method works fine with <s>firstname</s> <invoke ='getExpandedAdminGr