ODI JMS to SQL MESSAGESELECTOR
Hi,
Anybody had successful experience using ODI with JMS to SQL technology trying to consume messages from Weblogic Topic with MESSAGESELECTOR option? Having trouble that ODI consumed all messages from Topic indiscriminately whenever there was a MESSAGESELECTOR expression present from ODI Interface. Any suggestion/idea are welcome.
AL
There is definitely a message selector defined in the message. I am using Message Selector and ClientID (Subscriber ID) in LKM. It turns out that the subscriber needs to be configured with same message selector expression. Otherwise when ODI hit the subscriber, it behaves as if it is setting the message selector on the subscriber in Weblogic, and the setting operation will reset all messages.
Not sure if this is documented anywhere ( ODI or Weblogic ).
Thanks
Albert
Similar Messages
-
Odi 11g - IKM SQL to Hyperion Essbase (DATA) log file always empty
In odi 11g when using *"IKM SQL to Hyperion Essbase (DATA)"* setting the the "LOG_ENABLED" = true,
only an empty file are generated.
Just "LOG_ERRORS" file (if errors occurs) are created.
Is this just an my issue?
Can someone help me?
p.s.: the same issue, I got even with the *"IKM SQL to Hyperion Planning"*
Thx in advance, PaoloThanks John for your suggestion.
here the patch *"Patch 10302682: IKM SQL TO PLANNING: LOG FILE IS CREATED BUT NOTHING INSIDE."*
I didn't see any other about Essbase...
I try to check all day on support site.
Paolo
Edited by: Paolo on 19-apr-2011 8.44 -
ODI Error: java.sql.SQLException: statement is not in batch mode
Greetings Gurus!
Would anybody know why changing a SQL view from
AND hapf.attribute1 LIKE '%Active%'
To
AND (hapf.attribute1 LIKE '%Active%' or hapf.attribute1 = ‘Frozen’)
cause ODI to fail?
This is the error message from ODI:
ODI-1228: Task SrcSet0 (Loading) fails on the target SUNOPSIS_ENGINE connection SUNOPSIS_MEMORY_ENGINE.
Caused By: java.sql.SQLException: statement is not in batch mode
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.Util.sqlExceptionSQL(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.executeBatch(Unknown Source)
at oracle.odi.runtime.agent.execution.sql.SQLCommand.end(SQLCommand.java:267)
at oracle.odi.runtime.agent.execution.sql.SQLExecutor.endExecution(SQLExecutor.java:156)
at oracle.odi.runtime.agent.execution.sql.SQLExecutor.endExecution(SQLExecutor.java:1)
at oracle.odi.runtime.agent.execution.DataMovementTaskExecutionHandler.handleTask(DataMovementTaskExecutionHandler.java:113)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:558)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:464)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.hsqldb.HsqlException: statement is not in batch mode
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
... 19 more
Thank you!
RayLooks like the single quotes around Frozen are not ascii single quotes. They seem to be a copy paste job from MSWord.
It should be 'Frozen' and then you shouldnt have that issue
>
AND hapf.attribute1 LIKE '%Active%'
To
AND (hapf.attribute1 LIKE '%Active%' or hapf.attribute1 = ‘Frozen’)
>
Devil is in the details ;) -
How to execute an ODI interface through SQL
Right now, we usually use the EXECUTE button to kick off an ODI process inside ODI designer. Is there any way we can do it from outside ODI. For example, can we write some PL/SQL or Java code to do that.
Thanks
AsifHi,
Yes we can use java code to call ODI scenario.
public class CallScenario {
public static void main(String[] args) throws Exception{
OdiCommandScenario ODIcmdScenario =new OdiCommandScenario();
OdiRepositoryConnection ODIConnection=new OdiRepositoryConnection();
ODIConnection.setOdiUser("SUPERVISOR");
ODIConnection.setOdiPassword("SUNOPSIS");
ODIConnection.setJdbcDriver("org.hsqldb.jdbcDriver");
ODIConnection.setJdbcUrl("jdbc:hsqldb:hsql://localhost");
ODIConnection.setJdbcUser("sa");
ODIConnection.setJdbcPassword("");
ODIcmdScenario.setScenName("TEST_SCENARIO");
ODIcmdScenario.setScenVersion("001");
ODIcmdScenario.setLogLevel(5);
ODIcmdScenario.setContext("GLOBAL");
ODIConnection.setWorkRepositoryCode("WORKREP");
OdiInvocation ODIInvocation = new OdiInvocation("localhost", 20910); //20910 default port
OdiInvocationResult result=ODIInvocation.invokeCommand(ODIcmdScenario,ODIConnection);
You need to include the Odi-sdk-invocation.jar for this to work. Hope this helps you.
Thanks,
SMV -
Does anyone know how ODI is transforming Java object to a flat/relational format and what performance impact it might have?
http://download.oracle.com/docs/cd/E17904_01/integrate.1111/e12644/jms.htm
Our objects have a fair degree of nesting and I wonder how ODI and the KM's will overcome this?There is definitely a message selector defined in the message. I am using Message Selector and ClientID (Subscriber ID) in LKM. It turns out that the subscriber needs to be configured with same message selector expression. Otherwise when ODI hit the subscriber, it behaves as if it is setting the message selector on the subscriber in Weblogic, and the setting operation will reset all messages.
Not sure if this is documented anywhere ( ODI or Weblogic ).
Thanks
Albert -
Hi,
I am trying to create a physical schema to connect to Microsoft SQL Server. When asked user and password for the connection to the server, what rights must the user have in order for this to work?
And when specifying the JDBC URL, what should be the hostname, the same as the server name?
Thank you,
AdinaHi there,
I use this configuration for connecting SQL Server:
In data server object
* Definition: the must important fields are the username and password
* JDBC:
- JDBC Driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
- JDBC URL: jdbc:sqlserver:// *<SERVER IP or NAME>* : <*PORT* (optional, if not defined it will take the default)>
Then you need to create a physical schema where you're going to define the SQL Server database name and the owner or user
* Definition:
- Database(catalog): name of the SQL Server database
- Owner (schema): the name of the owner, for example dbo
- Database(work schema): again the name of the SQL Server database; not required
- Owner(work schema): not required
On local object mask I also modify this field to add the SQL Server user, for example *%CATALOG.dbo.%OBJECT*
On remote object mask I leave the same (*%DSERVER.%CATALOG.%SCHEMA.%OBJECT*)
Hope this was useful for you
Cheers,
Edited by: Homerol on Apr 25, 2012 10:36 AM -
Installation of ODI with SQL Server 2005
Hi
I am trying to install ODI with MS Sql Server 2005.
I created a database in Sql Server & created a user with db_owner rights for logging into the database.
While trying to install Master Repository, i selected Sql Server with following details
Driver: com.microsoft.jdbc.sqlserver.SQLServerDriver
URL: jdbc:microsoft:sqlserver://<myhostname>:1433;SelectMethod=cursor
The repository does not get created giving error:
*com.sunopsis.core.q: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 1 (""): Data type 0x38 is unknown*
Now if i change the URL to jdbc:microsoft:sqlserver://<myhostname>:1433, the repository gets created successfully. But at the time of login into the topology manager using the same Master repository, it again prompts me the same error.
Has anyone faced the same issue?Hi,
You are using SQL server 2005 but trying to connect using the SQL server 2000 connection details you should be using
com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc:sqlserver://ServerName:1433;databaseName=DBNAME;SelectMethod=cursor
You will also need to make sure you are using the correct SQL server 2005 driver, if you are using a version of Java before 1.5 for ODI then you will need the SQL Server 2005 1.2 JDBC driver.
Cheers
John
http://john-goodwin.blogspot.com/ -
Hi Guys,
I am trying to load one csv file using sqlldr LKM and facing issue at Call Sqlldr step
Error Message is:
org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
File "<string>", line 22, in <module>
Load Error: See Y:/BTLB_PLANS Product Codes ( A CODE LIST).log for details
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2473)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:48)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.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)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:561)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:464)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:83)
at java.lang.Thread.run(Thread.java:662)
Caused by: Traceback (most recent call last):
File "<string>", line 22, in <module>
Load Error: See Y:/BTLB_PLANS Product Codes ( A CODE LIST).log for details
at org.python.core.PyException.fillInStackTrace(PyException.java:70)
at java.lang.Throwable.<init>(Throwable.java:181)
at java.lang.Exception.<init>(Exception.java:29)
at java.lang.RuntimeException.<init>(RuntimeException.java:32)
at org.python.core.PyException.<init>(PyException.java:46)
at org.python.core.PyException.doRaise(PyException.java:219)
at org.python.core.Py.makeException(Py.java:1166)
at org.python.core.Py.makeException(Py.java:1170)
at org.python.pycode._pyx0.f$0(<string>:59)
at org.python.pycode._pyx0.call_function(<string>)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.Py.runCode(Py.java:1204)
at org.python.core.Py.exec(Py.java:1248)
at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:172)
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2472)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:47)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.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)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:558)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:464)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
... 1 more
and Code:
import java.lang.String
import java.lang.Runtime as Runtime
from jarray import array
import java.io.File
import os
import re
ctlfile = r"""Y:/BTLB_PLANS Product Codes ( A CODE LIST).ctl"""
logfile = r"""Y:/BTLB_PLANS Product Codes ( A CODE LIST).log"""
outfile = r"""Y:/BTLB_PLANS Product Codes ( A CODE LIST).out"""
oracle_sid=''
if len('UREPDEV')>0: oracle_sid = '@'+'UREPDEV'
loadcmd = r"""sqlldr 'REDW_DA_OWNER/<@=snpRef.getInfo("DEST_PASS") @>%s' control='%s' log='%s' > "%s" """ % (oracle_sid,ctlfile, logfile, outfile)
rc = os.system(loadcmd)
if rc <> 0 and rc <> 2:
raise "Load Error", "See %s for details" % logfile
# Init Vars
nbIns = 0
nbRej = 0
nbNull = 0
strprt = ""
maxAllowedError = r"""0"""
c = 0
flag = 0
# Open log file
f = open(logfile, "r")
try:
lines = f.readlines()
for line in lines:
if line.rstrip().upper().endswith(r"""REDW_DA_OWNER.TC$_0TEST:""".upper()):
flag = 1
c = 0
if flag == 1:
if c > 0 and c <= 4:
if c == 1 :
nbIns = int(re.findall("\d+", line)[0])
elif c == 2:
nbRej = int(re.findall("\d+", line)[0])
elif c == 4:
nbNull = int(re.findall("\d+", line)[0])
break
c+=1
strprt = "\n\tIns:\t%s\n\tReject:\t%s\n\tNullField:\t%s" % (nbIns, nbRej, nbNull)
finally:
f.close()
# if some rows has been rejected due to invalide data, check KM option LOA_ERRORS
if rc == 2:
if nbRej > int(maxAllowedError):
raise strprt
break
I am using LKM File to Oracle(SQLLDR)
Thanks in advanceerror is saying:
org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
File "<string>", line 22, in <module>
Load Error: See Y:/<file_name>.log for details
and no log file is created for that.
Few more things to add.
We have 2 different boxes. 1. ODI box (different server address)
2. DB box (different server address)
and Sql developer is installed on DB box. I am able to use SQLLoader utility through SQL Developer.
But when I am using ODI to use sql ldr through LKM SQL to Oracle (Sqlldr).
It is getting failed at 6th step i.e. Call sqlldr.
Error is : org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
File "<string>", line 22, in <module>
Load Error: See<file_name>.log for details
but to my surprise all files were created at the folder except .log file.
Can anybody help me to solve this issue.
This is very urgent.
Is this because sqlldr is not accessible to ODI then how .ctl & .bad files are created.
I will really appreciate your help. it is bit urgent to solve this issue.
Edited by: 965549 on Oct 28, 2012 10:36 AM -
ODI 10.1.3.4.0 - Topology Manager Connection Error using SQL 2005 SP3
Hello All,
I am using the ODI repository in SQL 2005 SP3. I could create my master repository using the following parameters:
driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
URL:jdbc:microsoft:sqlserver://server_name:1433;SelectMethod=direct;DataBaseName=ODI
I needed to copy to the drivers directory all files of SQL 2000 (msutil.jar, msbase.jar,mssqlserver.jar) and SQL 2005 (sqljdbc.jar). I am using the JRE 1.4.2 and JDBC 2005 1.2 (http://msdn.microsoft.com/en-us/library/ms378422(SQL.90).aspx)
But when I try to connect in Topology Manager to create the work repository appears the following error:
using this driver string: com.microsoft.jdbc.sqlserver.SQLServerDriver
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC] Can't start a cloned connection while in manual transaction mode.
using this driver string: com.microsoft.sqlserver.jdbc.SQLServerDriver
java.sql.SQLException: No suitable driver
Does Somebody know what is happening?
Regards,
Wallace Galvao
Sao Paulo - BrazilHi,
If you plan on using the SQL Server 2005 drivers then you only need the 1.2 sqljdbc.jar file in the drivers directory.
The connection details for SQL Server 2005 should be like the following.
com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc:sqlserver://<sqls machine>:1433;databaseName=<db name>;integratedSecurity=false
I would try just with just the correct driver in place, remove the others, restart any ODI components and then make sure the connection information is correct like above.
Cheers
John
http://john-goodwin.blogspot.com/ -
Java.lang.NoSuchMethodError error when ODI sends mesages to Apache activemq
Hi Team,
I am struggling with the configuration of ODI and activemq. I really appreciate if someone could suggest me what is missing in my configuration.
Topology: JMS Queue
Data Server: JMS_QUEUE_TRACKER
JNDI:
JNDI Authentification: Simple
JNDI USER, PASSWORD and JNDI Protocol are all empty
JNDI driver: org.apache.activemq.jndi.ActiveMQInitialContextFactory
JNDI Url: tcp://11.111.1.111:61616
JNDI Resource: ConnectionFactory
Tested connection: PASS
Created physical schema and context and logic schema, saved.
Model: JMS_QUEUE
Code: JMS_QUEUE
Technology: JMS Queue
Logical Schema JMS_QUEUE_TRACKER
Datastore: ODI JMS
Datastore Type: Table
Resource Name: dynamicQueues/example.A
Files tab: File Format: fixed
Record Separator: MS-DOS
Field Separator: Space
Columns tab: Add one column DATA string length 50
Interface: Interface testjms
use IKM: IKM SQL to JMS Append, migrate one column of oracle table to the queue(Datastore: ODI JMS)
Copied activemq-all-5.5.0.jar, geronimo-jms_1.1_spec-1.1.1.jar, slf4j-log4j12-1.5.11.jar and log4j-1.2.14.jar to $ODI/oracledi/agent/drivers, restart the standalone agent.
run interface Interface testjms by standalone agent.
The error message is:
ODI-1217: Session INTERFACE TESTJMS (787001) fails with return code 7000.
ODI-1226: Step INTERFACE TESTJMS fails after 1 attempt(s).
ODI-1240: Flow INTERFACE TESTJMS fails while performing a Integration operation. This flow loads target table ODI JMS.
Caused By: java.lang.NoSuchMethodError: org.apache.activemq.ActiveMQMessageProducerSupport.getDestination()Ljavax/jms/Destination;
at org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:269)
at com.sunopsis.jdbc.driver.JMSQueueConnection.treatInsertedRow(JMSQueueConnection.java:1102)
at com.sunopsis.jdbc.driver.FileSnpsTableFix.insertRow(FileSnpsTableFix.java:153)
at com.sunopsis.jdbc.driver.SnpsDriverPreparedStatement.executeUpdate(SnpsDriverPreparedStatement.java:156)
at com.sunopsis.jdbc.driver.SnpsDriverPreparedStatement.execute(SnpsDriverPreparedStatement.java:116)
at oracle.odi.runtime.agent.execution.sql.SQLCommand.execute(SQLCommand.java:163)
at oracle.odi.runtime.agent.execution.sql.BatchSQLCommand.execute(BatchSQLCommand.java:49)
at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:102)
at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:1)
I seems I have put all necessary libs in the path but I am very confused why I still meet this error.
Thanks so much for your kind help
PeiranHi
Hope below URL may helps your problem, because it has similar kind of error message.
URL: Issue while running a scenario while using TTU in ODI
Regards,
Phanikanth -
Hi,
I want to publish a message into a JMS but don't want to use any interface for it.Requirement is to publish certain variable values from the ODI package to the JMS. Is it possible using ODI Procedure, if yes, ps help me with the steps involved.
2)How to call a Java function from ODI.[I can have a java function that pushes the message into the Queue]
3)What is/are the possible ways to publish a message into a Queue, using ODI
Thanks,
IsHi,
2)How to call a Java function from ODI.I can have a java function that pushes the message into the QueueYou can call a java class from a jython Treatment line :
- Pack your class in a .jar file
- Put the file in the drivers' folder of ODI
- In a Treatment line, you can call your class using : from myJavaPackage import myClass
3)What is/are the possible ways to publish a message into a Queue, using ODIA former version of ODI has embedded a JMS Server, so there are several KM associated with this technology. If there are need for customization, I think using Jython and java classes may be a good solution.
Personnaly, I haven't used ODI + JMS but these are the ways I'd investigate...
Regards,
ChrYStophe -
How to decide between OWB and ODI?
Having to decide whether to choose Oracle Data Integrator or Oracle Warehouse Builder like tool for creating a dataware house and loading data into it, what should I choose and why?
I'm an old pl/sql developer but new on datawarehousing (I've been dealing with it for few months) and I'd like to undestand what fits better for me. It seems to me that OWB and ODI look not very different to each other, don't they?
My Oracle vers. is 10gR2
Thanks!Mark1970 wrote:
Having to decide whether to choose Oracle Data Integrator or Oracle Warehouse Builder like tool for creating a dataware house and loading data into it, what should I choose and why?
I'm an old pl/sql developer but new on datawarehousing (I've been dealing with it for few months) and I'd like to undestand what fits better for me. It seems to me that OWB and ODI look not very different to each other, don't they?
My Oracle vers. is 10gR2
Thanks!Oracle corporation's statement of direction says ODI is their strategic ETL tool and if you and investing into Oracle ETl for the 1st time then it is better to invest in ODI .
OWB will be supported and finally OWB and ODI will get merged into a single tool.
For a pl/sql guy like you , the code generated by OWB is easy to understand as OWB mainly generates pl/sql code ( apart from sql loader and sap abap code ) . But that should not deter you to use ODI as ODI generates mainly SQL code (plus sove native code depending upon the technology used and KM) . -
There's a function that does what I need.
Can I pass parameters from ODI to Oracle SQL?
JzI will have to find out. The initial approach was to create a view and import via Knowledge Module...
Do you think that would be a better approach?
Jz -
Hi Experts,
Please let me know if we can use ODI with Mircosoft SQL Server 2005.
The Drive list is showing only MS SQL Sever 2000.
Thanks and Regards,
AndyHi,
Yes you can definitely use sql server 2005, you just need to manually enter the driver name and url.
e.g.
com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc:sqlserver://<sqls machine>:1433;databaseName=<db name>;integratedSecurity=false
Cheers
John
http://john-goodwin.blogspot.com/ -
JMS Sender Channel not Polling
Hi Guys,
Scenario: BEA Weblogic -
> JMS Queue -
> Sender Channel JMS -
> SAP XI -
> SAP R3
We had initially setup this scenario using MessageSelector because the provider JMS Queue had mutiple message types on it. As Murphy's law would have it, the MessageSelector stopped polling the day before go-live. Basically, if we pointed one JMS SC to the provider JMS Queue using MessageSelector it worked fine, if we pointed multiple JMS SC's no messages were being picked up from the queue. We still haven't identified why the MessageSelector functionality stopped working but as a quick work around to MessageSelector before go-live we used blog:
[/people/robert.warde3/blog/2009/03/18/pi-basics-generic-message-interface|/people/robert.warde3/blog/2009/03/18/pi-basics-generic-message-interface]
Now we have a situation where, BEA Weblogic manages the provider JMS Queue & they perform a health check 4 times a day & if they encounter a problem they bounce the server & JMS Queue service. XI and the SC seem to re-connect fine most of the time when Weblogic & JMS Queue is back up but there are times when I see a green light in RWB for the SC but it's not polling for messages on the JMS Queue. We use Hermes JMS to monitor messages on the Queue to check if there are in fact messages to be picked up & the messages are queued.
What I'm looking for is a best practice guide for how to manage this. I don't want to keep toggling between Hermes JMS & RWB to verify if the SC is in fact polling messages altho' it shows as green in RWB. Please advise. Thanks.
Regards, TrevorThanks Kai & Joel.
Joel, I'm not really looking to add another layer with the JMS Connector Service. For me it's just adds another possible point of failure. At the moment the message passes thru 5 systems including SAP R3 & end system & then the response comes back the same route.
Going out from SAP, the Receiver channel to the JMS queue seems to work fine. With the responses coming back, the Sender Channel seems to re-connect ok (I'm assuming) otherwise it wouldn't be green in RWB but doesn't pick up any messages. It's also an intermittant phenomenon. Manually stopping & re-starting the Sender Comm Channel fixes the problem but we won't know if there's a problem until we check if messages are being picked up from the queue.
Kai's notes led me to some things I could possibly look at like additional parameter in JMS channel config, CONNECTION_TEST_POLL (note 948016). I'm still not sure how we can make this work for us because we essentially need to bounce the JMS channel so it starts polling again in the event of a JMS Queue Provider bounce but I need to first establish that the JMS Queue was bounced.
Note 1088675 will also be irrelevant cos the channel looks like it re-connects, just doesn't poll.
Trevor
Maybe you are looking for
-
How to get rid of the annoying Google toolbar on my screens homepage?
Need help to get rid of the Google toolbar that has appeared on the homepage of my Droid Mini. Others have this phone & other Droids and do not have this stupid thing.
-
Crystal Reports can't add stored procedure using Oracle Provider for OLE DB
Hello, I am trying to bind an oracle stored procedure to a crystal report through Visual Studio 2008. This oracle stored procedure returns a ref cursor. I am using an oracle 11g database (11.2.0.2.0) . When I use the Oracle Provider For OLE DB driver
-
app highlights for lumia 610, i loss this sofware please give me downlod link .. thaks advance
-
Heads up. The downloads of PS 7 and PSE 7 are now available and I'm downloading them now. Quick question. The older versions are stored in directories with the version number in the name, i.e. C:\Program Files\Adobe\Adobe Premiere Elements 4.0 C:\Pro
-
Cannot change BBM group details/setting, on BES
Hi All, I'm newbie forgive if I wrongly put this question in this thread.. After updating to latest asia firmware (666), suddenly I cannot change BBM group detail on my torch (9800). Therefore, now I always get unwanted notification/update from new g