| Author | 
		  Message
		 | 
		
		  | pintoo | 
		  
		    
			  
				 Posted: Thu May 17, 2007 5:27 am    Post subject: ODBC INI entry for remote oracle database on AIX | 
				     | 
			   
			 
		   | 
		
		
		   Novice
 
 Joined: 25 Sep 2006 Posts: 15 Location: New Delhi (India) 
  | 
		  
		    
			  
				Hi,
 
 
I want to make the connection to a remote oracle server from my AIX box. To make that Oracle available for my broker.
 
 
My broker database is DB2 and that is properly connected to broker and working fine. We have a specific requirement to connect to a remote oracle server from the database node as we want to work on that server from broker.
 
 
The specifications are as follows:
 
 
AIX Server 5.3 
 
Broker 6.0
 
MQ 6.0
 
 
.odbc.ini entry:
 
   
	| Code: | 
   
  
	
 
[DEVDB]
 
Driver=/opt/IBM/mqsi/6.0/merant/lib/UKor820.so
 
Description=Dev DB.
 
HostName=10.111.4.146
 
PortNumber=1523
 
SID=mysid
 
CatalogOptions=0
 
EnableDescribeParam=1
 
OptimizePrepare=1
 
WorkArounds=536870912
 
ProcedureRetResults=1
 
Trace=1
 
TraceFile=/home/mqm/trace/devdb.out
 
TraceDll=/opt/IBM/mqsi/6.0/merant/lib/odbctrac.so | 
   
 
 
 
I am using the 32 bit configuration file. 
 
When I am trying to debug my message flow, it giving Database exception with no error message.
 
 
Please suggest.
 
Thanks & Regards,
 
Amit | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | jefflowrey | 
		  
		    
			  
				 Posted: Thu May 17, 2007 5:33 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Grand Poobah
 
 Joined: 16 Oct 2002 Posts: 19981
  
  | 
		  
		    
			  
				Can you access the oracle database from the sqlplus command on the broker machine? _________________ I am *not* the model of the modern major general. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | pintoo | 
		  
		    
			  
				 Posted: Fri May 18, 2007 4:10 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Novice
 
 Joined: 25 Sep 2006 Posts: 15 Location: New Delhi (India) 
  | 
		  
		    
			  
				Hi Jeff,
 
 
Yes I am able to connect to the remote database using the sqlplus command from the Broker M/C.
 
 
I am using the .odbc.ini file and now I have defined the new enteries as below:
 
 
   
	| Code: | 
   
  
	[DEVDB]
 
Driver=/opt/IBM/mqsi/6.0/merant/lib/UKor820.so
 
Description=BILLING Dev DB.
 
ServerName=MTNSIT1B
 
EnableDescribeParam=1
 
OptimizePrepare=1
 
SelectMethod=0
 
NetworkAddress=10.111.4.146,50000
 
SelectUserName=1 | 
   
 
 
 
But still when I am trying to access the DEVDB from my broker its giving the DatabaseException. In the exception message there is no message specified. Only some numeric digits are there.
 
 
Please advice. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | Gaya3 | 
		  
		    
			  
				 Posted: Fri May 18, 2007 5:46 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi
 
 Joined: 12 Sep 2006 Posts: 2493 Location: Boston, US 
  | 
		  
		    
			  
				Hi
 
 
  Whats the version of Oracle that you are using
 
 
   How you set the dbparams to the broker
 
 
  
 
Thanks and Regards
 
Gayathri _________________ Regards
 
Gayathri
 
-----------------------------------------------
 
Do Something Before you Die | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | pintoo | 
		  
		    
			  
				 Posted: Mon May 21, 2007 6:53 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Novice
 
 Joined: 25 Sep 2006 Posts: 15 Location: New Delhi (India) 
  | 
		  
		    
			  
				I have the Oracle 9.2 and the I have set the dbparams with the help of mqsisetdbparms for the BROKER DATASOURCE.
 
 
In my case I am having the Oracle 10g installed on the Broker M/C and I want to make the datasource for the Oracle 9.2 on a remote server.
 
 
I have also tried to set the oracle related parameters with the following command.
 
 
mqsi_setupdatabase oracle10 /home/oracle10/OraHome
 
 
This command get successfully executed.
 
 
The o/p of ldd UKor820.so is as follows:
 
$
 
$ ldd ../merant/lib/UKor820.so
 
../merant/lib/UKor820.so needs:
 
         /usr/lib/libc.a(shr.o)
 
         /opt/IBM/mqsi/6.0/merant/lib/libUKicu20.a(UKicu20.so)
 
         /usr/lib/libpthreads.a(shr_xpg5.o)
 
         /usr/lib/libC.a(shr.o)
 
         /usr/lib/libC.a(ansi_32.o)
 
         /usr/lib/libC.a(shr2.o)
 
Cannot find      /usr/lib/libdl.a(shr.o)
 
         /unix
 
         /usr/lib/libcrypt.a(shr.o)
 
         /usr/lib/libpthread.a(shr_xpg5.o)
 
         /usr/lib/libpthreads.a(shr_comm.o)
 
         /usr/lib/libc_r.a(shr.o)
 
         /usr/lib/libC.a(ansicore_32.o)
 
         /usr/lib/libC.a(shrcore.o)
 
         /usr/lib/libC.a(shr3.o)
 
 
Also the libdl.a is available in the /usr/lib
 
 
 
Can you provide some pointers? | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | Gaya3 | 
		  
		    
			  
				 Posted: Mon May 21, 2007 8:18 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi
 
 Joined: 12 Sep 2006 Posts: 2493 Location: Boston, US 
  | 
		  
		    
			  
				Hey 
 
  
 
  I got confused, 
 
 
  Here your broker is communicating with DB2 (Broker database ) am i correct?
 
 
  You want to connect t remote Oracle Database through your database node or compute node right?
 
 
 Please correct me if i am wrong
 
 
 Thanks and regards
 
 Gayathri _________________ Regards
 
Gayathri
 
-----------------------------------------------
 
Do Something Before you Die | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | pintoo | 
		  
		    
			  
				 Posted: Mon May 21, 2007 9:31 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Novice
 
 Joined: 25 Sep 2006 Posts: 15 Location: New Delhi (India) 
  | 
		  
		    
			  
				Hey Gayathri,
 
 
You are absolutely correct. This is the scenario that we want to achieve.
 
 
I have also set the /usr/lib in the LIBPATH and then tried the ldd, but unfortunately of no use. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | pintoo | 
		  
		    
			  
				 Posted: Mon May 21, 2007 11:49 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Novice
 
 Joined: 25 Sep 2006 Posts: 15 Location: New Delhi (India) 
  | 
		  
		    
			  
				Hi,
 
 
Here is the exception trace what I am getting while debugging the message flow, in which I am trying to connect to a remote oracle from my compute node.
 
 
Message
 
LocalEnvironment
 
Environment
 
ExceptionList
 
	RecoverableException
 
		File = /build/S600_P/src/DataFlowEngine/ImbDataFlowNode.cpp
 
		Line = 616
 
		Function = ImbDataFlowNode::createExceptionList
 
		Type = ComIbmWSInputNode
 
		Name = MF_CRM_BILL_GET_CREDITLIMIT_REQ_INQ_RR#FCMComposite_1_13.CCSF_EAI_HTTPINPUT#FCMComposite_1_2
 
		Label = MF_CRM_BILL_GET_CREDITLIMIT_REQ_INQ_RR.CRM_BILL_GET_CREDITLIMIT_REQ_EAI_HTTPINPUT.EAI_HTTPINPUT_IN
 
		Catalog = BIPv600
 
		Severity = 3
 
		Number = 2230
 
		Text = Node throwing exception
 
		RecoverableException
 
			File = /build/S600_P/src/DataFlowEngine/ImbComputeNode.cpp
 
			Line = 464
 
			Function = ImbComputeNode::evaluate
 
			Type = ComIbmComputeNode
 
			Name = MF_CRM_BILL_GET_CREDITLIMIT_REQ_INQ_RR#FCMComposite_1_21
 
			Label = MF_CRM_BILL_GET_CREDITLIMIT_REQ_INQ_RR.CRM_BILL_GET_CREDITLIMIT_REQ_COMP_TRANSFORM
 
			Catalog = BIPv600
 
			Severity = 3
 
			Number = 2230
 
			Text = Caught exception and rethrowing
 
			DatabaseException
 
				File = /build/S600_P/src/DataFlowEngine/ImbOdbc.cpp
 
				Line = 227
 
				Function = ImbOdbcHandle::checkRcInner
 
				Type = 
 
				Name = 
 
				Label = 
 
				Catalog = BIPv600
 
				Severity = 3
 
				Number = 2321
 
				Text = Root SQL exception
 
				Insert
 
					Type = 2
 
					Text = -1
 
				DatabaseException
 
					File = /build/S600_P/src/DataFlowEngine/ImbOdbc.cpp
 
					Line = 355
 
					Function = ImbOdbcHandle::checkRcInner
 
					Type = 
 
					Name = 
 
					Label = 
 
					Catalog = BIPv600
 
					Severity = 3
 
					Number = 2322
 
					Text = Child SQL exception
 
					Insert
 
						Type = 5
 
						Text = IM003
 
					Insert
 
						Type = 2
 
						Text = 0
 
					Insert
 
						Type = 5
 
						Text = [DataDirect][ODBC lib] Specified driver could not be loaded
 
 
Can you please provide some pointers? | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | Gaya3 | 
		  
		    
			  
				 Posted: Tue May 22, 2007 2:07 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi
 
 Joined: 12 Sep 2006 Posts: 2493 Location: Boston, US 
  | 
		  
		    
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | pintoo | 
		  
		    
			  
				 Posted: Tue May 22, 2007 5:51 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Novice
 
 Joined: 25 Sep 2006 Posts: 15 Location: New Delhi (India) 
  | 
		  
		    
			  
				The problem was with the oracle driver, the driver UKor820.so was not able to loaded because it was not able to link all the dynamic libraries.
 
 
I have added the ORACLE_HOME/lib32 in the LIBPATH as LD_LIBRARY_PATH is for solaris, in our case we are using the AIX box.
 
 
Now it is able to link all the dynamic libraries with the UKor820.so. And also able to load the driver.
 
 
Thanks for all the pointers provided. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |