|   | 
	 
  
    | 
RSS Feed - WebSphere MQ Support
 | 
RSS Feed - Message Broker Support
 |   
 
  
	     | 
	 | 
   
 
  
	|  Informix connection : mqsisetdbparms and mqsicvp question. | 
	« View previous topic :: View next topic »  | 
   
  
  	
	  
		
		
		  | Author | 
		  Message
		 |  
		
		  | Cogito-Ergo-Sum | 
		  
		    
			  
				 Posted: Fri Sep 21, 2012 12:59 am    Post subject: Informix connection : mqsisetdbparms and mqsicvp question. | 
				     | 
			   
			 
		   | 
		 
		
		    Master
 
 Joined: 07 Feb 2006 Posts: 293 Location: Bengaluru, India 
  | 
		  
		    
			  
				My original problem is the inability to insert rows into Informix table using the Mapping node. Yes, the .dbm file exists. After some analysis, I noticed that Informix isn't seeing an incoming connection which later led me to this confusion with mqsisetdbparms and mqsicvp.
 
 
Scenario 1
 
I set the ID and password using mqsisetdbparms as described here with the command below.
 
   
	| Code: | 
   
  
	
 
mqsisetdbparms BRKR08 -n dsn::my_informix -u informix -p new00pwd
 
 | 
   
 
 
I test the connectivity with mqsicvp as described here with the command below.
 
   
	| Code: | 
   
  
	
 
mqsicvp BRKR08 -n dsn::my_informix
 
 | 
   
 
.
 
The connection fails as shown below:
 
   
	| Code: | 
   
  
	
 
BIP2393E: Database error: ODBC return code '-1' from data source ''dsn::my_informix'' using ODBC driver manager ''/opt/ibm/IE02/2.0.0/lib/libodbcinterface.so''. 
 
The broker received an error when processing a database operation. The ODBC return code was '-1'. See the following messages for information obtained from the database about this error. 
 
Use the following messages to determine the cause of the error. Typical problems are an incorrect data source, or table names. Correct either the database or the broker configuration. 
 
BIP2322E: Database error: SQL State ''IM002''; Native Error Code '0'; Error Text ''[unixODBC][Driver Manager]Data source name not found, and no default driver specified''. 
 
The error has the following diagnostic information:     SQL State             ''IM002''     SQL Native Error Code '0'     SQL Error Text        ''[unixODBC][Driver Manager]Data source name not found, and no default driver specified'' 
 
This message may be accompanied by other messages describing the effect on the message broker itself.  Use the reason identified in this message with the accompanying messages to determine the cause of the error. 
 
 
BIP8040E: Unable to connect to the database. 
 
The database cannot be accessed with the specified user Id and password pair. 
 
- Check that the database is running.  
 
 - Check that the database has an adequate number of database connections available for use.  
 
 - On Windows, check that an ODBC connection has been created.  
 
 - On systems that use $ODBCINI, check that the file pointed to by $ODBCINI has been correctly updated.  
 
 - On z/OS check the BIPDSNAO member of the component's dataset, and check the DB2 64bit ODBC driver (DSNAO64C) is in the STEPLIB.  
 
 - Use mqsisetdbparms to set the password to the correct value and try again. 
 
 | 
   
 
 
I had enabled the ODBC trace and here is what I see (an excerpt).
 
   
	| Code: | 
   
  
	
 
[ODBC][10253][3059074768][2012-09-21 14:14:41.293][SQLConnect.c][3621]
 
      Entry:            
 
         Connection = 0x9529d68            
 
         Server Name = [dsn::my_informix][length = 16 (SQL_NTS)]            
 
         User Name = [informix][length = 8 (SQL_NTS)]            
 
         Authentication = [********][length = 8 (SQL_NTS)]
 
[ODBC][10253][3059074768][2012-09-21 14:14:41.297][SQLConnect.c][3830]Error: IM002
 
[ODBC][10253][3059074768][2012-09-21 14:14:41.299][SQLError.c][430]
 
      Entry:                
 
         Connection = 0x9529d68                
 
         SQLState = 0xbfbd4202                
 
         Native = 0xbfbd4210                
 
         Message Text = 0x952d2b0                
 
         Buffer Length = 1024                
 
         Text Len Ptr = 0xbfbd428a
 
[ODBC][10253][3059074768][2012-09-21 14:14:41.301][SQLError.c][467]
 
      Exit:[SQL_SUCCESS]                    
 
         SQLState = IM002                    
 
         Native = 0xbfbd4210 -> 0                    
 
         Message Text = [[unixODBC][Driver Manager]Data source name not found, and no default driver specified]
 
 | 
   
 
 
 
Note the server name dsn::my_informix. It does not exist in the odbc32.ini file pointed to by the $ODBCINI variable.
 
 
Scenario 2
 
I set the ID and password using mqsisetdbparms as described here with the command below.
 
   
	| Code: | 
   
  
	
 
mqsisetdbparms BRKR08 -n dsn::my_informix -d
 
mqsisetdbparms BRKR08 -n my_informix -u informix -p new00pwd
 
 | 
   
 
 
I test the connectivity with mqsicvp as described here with the command below.
 
   
	| Code: | 
   
  
	
 
mqsicvp BRKR08 -n my_informix
 
 | 
   
 
.
 
The connection goes through successfully. However, the Informix server does not report an incoming connection.
 
   
	| Code: | 
   
  
	
 
informix@nsubrahm:~$ onstat -g ses
 
Your evaluation license will expire on 2012-11-20 00:00:00
 
 
IBM Informix Dynamic Server Version 11.70.UC5TL -- On-Line -- Up 01:17:39 -- 160556 Kbytes
 
 
session                                      #RSAM    total      used       dynamic 
 
id       user     tty      pid      hostname threads  memory     memory     explain 
 
41       informix -        0        -        0        12288      8984       off 
 
25       informix -        0        -        1        483328     386496     off 
 
24       informix -        0        -        1        454656     377728     off 
 
23       informix -        0        -        1        540672     358552     off 
 
6        informix -        0        -        0        12288      8984       off 
 
4        informix -        0        -        0        12288      10272      off 
 
3        informix -        0        -        0        12288      10272      off 
 
2        informix -        0        -        0        12288      8984       off 
 
 | 
   
 
 
 
My questions.
 
1. Isn't the Scenario 1 the way to specify user ID and password for a ODBC data source ?
 
2. If indeed Scenario 2 is the way to specify user ID and password for a ODBC data source, then why doesn't Informix report the connection ?
 
 
The odbc32.ini file:
 
   
	| Code: | 
   
  
	
 
[ODBC Data Sources]
 
my_informix=IBM Informix ODBC Driver
 
 
[my_informix]
 
Driver=/opt/IBM/Informix/lib/cli/iclis09b.so
 
Description=Informix database - with timeseries
 
ServerName=ol_informix1170
 
Database=my_informix
 
 | 
   
 
 
 
 
WMB 8.0.0.1 on Linux x86. _________________ ALL opinions are welcome.
 
-----------------------------
 
Debugging tip:When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth. 
 
---Sherlock Holmes | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | mqjeff | 
		  
		    
			  
				 Posted: Fri Sep 21, 2012 4:32 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		   Grand Master
 
 Joined: 25 Jun 2008 Posts: 17447
  
  | 
		  
		    
			  
				You need an entry in the odbc ini file for all databases.  the DBM file is only ever used in Toolkit, not in runtime and mqsicvp knows nothing about the dbm files.
 
 
I'm guessing you're not seeing a connection reported in Informix when mqsicvp works successfully because mqsicvp has already closed the connection by the time you look for it. 
 
 
Secondly, the dsn:: prefix is only used by mqsisetdbparms, to distinguish a DSN from an FTP or SFTP or POP3 or etc kind of identity.  So you shouldn't use it anywhere else. | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | Cogito-Ergo-Sum | 
		  
		    
			  
				 Posted: Tue Sep 25, 2012 10:38 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		    Master
 
 Joined: 07 Feb 2006 Posts: 293 Location: Bengaluru, India 
  | 
		  
		    
			  
				
   
	| mqjeff wrote: | 
   
  
	| You need an entry in the odbc ini file for all databases.  | 
   
 
 
The entry exists.
 
 
   
	| mqjeff wrote: | 
   
  
	|  the DBM file is only ever used in Toolkit, not in runtime and mqsicvp knows nothing about the dbm files. | 
   
 
 
Guessed so.
 
 
   
	| mqjeff wrote: | 
   
  
	 
 
I'm guessing you're not seeing a connection reported in Informix when mqsicvp works successfully because mqsicvp has already closed the connection by the time you look for it.  | 
   
 
 I agree that, the mqsicvp does not appear in the connection entry list. Actually, what I meant in my question was as follows (sorry for not writing correctly). Once a message flow (that accesses a Informix database in a Mapping node) is up, shouldn't a connection entry appear in Informix ? Or, does the entry appear only at the instant when an Insert happens in the message flow ? (My message flow is expected to do an Insert.) In case of former, I don't see an entry in Informix. In case of latter, the row does not get inserted and no nothing in ${ExceptionList} or /var/log.
 
 
hmm...why didn't I enable ODBC trace while trying to insert ? Let me try this too and see if I get a clue ...
 
 
   
	| mqjeff wrote: | 
   
  
	
 
Secondly, the dsn:: prefix is only used by mqsisetdbparms, to distinguish a DSN from an FTP or SFTP or POP3 or etc kind of identity.  So you shouldn't use it anywhere else. | 
   
 
 
Well the Infocenter said so:
 
 
   
	| Quote: | 
   
  
	
 
-n ResourceName or AdapterName
 
(Required) This parameter identifies one of the following resources:
 
The ODBC data source for which the user ID and password pair are to be created or modified. The ResourceName takes the form dsn::datasource_name, where datasource_name identifies the data source name for the database to which you want to connect.
 
Data source names are used by the following nodes:
 
Compute
 
Database
 
DatabaseRetrieve
 
DatabaseRoute
 
Filter
 
Mapping | 
   
 
 _________________ ALL opinions are welcome.
 
-----------------------------
 
Debugging tip:When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth. 
 
---Sherlock Holmes | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | 
		    
		   | 
		 
	   
	 | 
   
 
  
	     | 
	 | 
	Page 1 of 1 | 
   
 
 
 
  
  	
	  
		
		  
 
  | 
		  You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
  | 
  		 
	   
	 | 
   
 
  	 | 
	  |