Author |
Message
|
prasadpav |
Posted: Fri Sep 09, 2005 8:27 am Post subject: [ODBC Oracle driver]Optional feature not implemented |
|
|
 Centurion
Joined: 03 Oct 2004 Posts: 142
|
Hi,
I'm having problems in communicating with remote Oracle9 database from my message flow running on AIX. From command prompt I can do sqlplus with no problem. I have gone through few posting in this forum where this problem is experienced but didn't had a clear solution. So, hoping to hear few comments about how to get this thing working.
My .odbc.ini is:
[ORACLE.TSTENV.COM]
Driver=/usr/opt/wmqi/merant/lib/UKor818.so
WorkArounds=536870912
WorkArounds2=2
Description=Oracle8
ServerName=ORACLE.TSTENV.COM
EnableDescribeParam=1
OptimizePrepare=1
[SUN9]
Driver=/usr/opt/wmqi/merant/lib/UKor818.so
WorkArounds=536870912
WorkArounds2=2
Description=Oracle9
ServerName=SUN9
EnableDescribeParam=1
OptimizePrepare=1
ORACLE.TSTENV.COM is on Windows machine & SUN9 on Sun Solaris.
When I use "ORACLE.TSTENV.COM", i can do all the necessary database operations from my message flow. But when I use "SUN9" (which is on sun solaris), i get the following error (error captured from ODBC trace):
Quote: |
ppid=18430:pid= 7760:1415 EXIT SQLErrorW with return code 0 (SQL_SUCCESS)
HENV 0x00000000
HDBC 0x00000000
HSTMT 0x3a5d7fd8
WCHAR * 0x3996df74 (NYI)
SDWORD * 0x3996e21c (0)
WCHAR * 0x3996df80 [ 65] "[DataDirect][ODBC Oracle driver]Optional feature not implemented."
SWORD 512
SWORD * 0x3996e1f4 (65) |
Both the oracle databases ORACLE.TSTENV.COM & SUN9 are Oracle9i. I dont see a reason why I can successfully work with one and not with the another one. Unless I need to install something on sun solaris box.
Any comments, suggestions.....?
Thanks alot,
Prasad |
|
Back to top |
|
 |
recallsunny |
Posted: Fri Sep 09, 2005 9:14 am Post subject: |
|
|
 Disciple
Joined: 15 Jun 2005 Posts: 163 Location: Massachusetts
|
Quote: |
Ensure that the appropriate library search path environment variable (LD_LIBRARY_PATH on Solaris and Linux) is set to reflect the database products to be used |
May be you ought to check this... |
|
Back to top |
|
 |
prasadpav |
Posted: Fri Sep 09, 2005 10:32 pm Post subject: |
|
|
 Centurion
Joined: 03 Oct 2004 Posts: 142
|
Thanks for your reply.
My message broker is on AIX and the oracle database is on remote sun solaris machine. I'm using oracle client to connect to remote DB. Also i can connect to one oracle database which is running on windows. So, i think all Library paths must have be set correctly. By the way, I forgot to mention, i'm using MQ5.3 CSD8.
Any further thoughts????
Prasad |
|
Back to top |
|
 |
JT |
Posted: Sat Sep 10, 2005 1:10 pm Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
What version of Oracle client do you have installed, 8i or 9i ?
Post the SQL call that results in the error. |
|
Back to top |
|
 |
prasadpav |
Posted: Sun Sep 11, 2005 2:36 am Post subject: |
|
|
 Centurion
Joined: 03 Oct 2004 Posts: 142
|
It is oracle 9i client. And the SQL statement is:
Quote: |
SELECT OM_ID, INF_ID, MSG_PAYLOAD FROM OUTBOUND_MESSAGES_OM WHERE MSG_STATUS=1 |
Prasad |
|
Back to top |
|
 |
prasadpav |
Posted: Tue Sep 13, 2005 6:57 am Post subject: |
|
|
 Centurion
Joined: 03 Oct 2004 Posts: 142
|
I figured out what is causing the problem. It is the CLOB datatype for MSG_PAYLOAD. When I modify my SQL to:
Quote: |
SELECT OM_ID, INF_ID FROM OUTBOUND_MESSAGES_OM WHERE MSG_STATUS=1 |
then, it worked fine.
So, some problem in handling CLOB datatype.
Any ideas how to resolve this?
Thanks
Prasad |
|
Back to top |
|
 |
JT |
Posted: Tue Sep 13, 2005 7:52 am Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
That shouldn't be a problem. We routinely issue the following SQL call against an Oracle 9i database from Solaris 5.0.4 brokers, where the USERDATA column is defined as CLOB (not NCLOB, which is un-supported).
Code: |
SET Environment.Variables.originalMsg = THE(SELECT T.USERDATA, T.REPLYTOQ, T.REPLYTOQMGR FROM Database.COMLOG.USERID_CACHE AS T WHERE T.MSGID = msgId); |
|
|
Back to top |
|
 |
prasadpav |
Posted: Wed Sep 14, 2005 8:23 am Post subject: |
|
|
 Centurion
Joined: 03 Oct 2004 Posts: 142
|
I figured out what the problem is and solved it also. But little unhappy that I needed to install latest version of ODBC driver for AIX (Data Direct 5.1). I've messsage broker 5.0 and CSD06 on AIX, so I would expect the ODBC driver also to be up to date. But I always got this error of "Optional Feature not supported". After downloading ODBC driver trial version for AIX, I got this thing working. In order to get permanent license, do we need to purchase the driver or can I download it from IBM under message broker license?
Thanks,
Prasad |
|
Back to top |
|
 |
prasadpav |
Posted: Thu Sep 15, 2005 2:50 am Post subject: |
|
|
 Centurion
Joined: 03 Oct 2004 Posts: 142
|
Guys, any thoughts on my previous post?
Thanks
Prasad |
|
Back to top |
|
 |
Ian |
Posted: Tue Sep 20, 2005 6:53 am Post subject: |
|
|
Disciple
Joined: 22 Nov 2002 Posts: 152 Location: London, UK
|
Hi Prasad,
WBIMB v5 FP06 on AIX only supports the DataDirect 4.1 Oracle driver.
If you have taken the DataDirect 5.1 Oracle driver and applied this to your WBIMB v5 system then you are running with an unsupported configuration.
I would strong advise that you reinstall the IBM branded (tested and verified) DataDirect 4.1 Oracle driver, recreate the problem and open a PMR with the IBM Support team so that we can investigate and advise accordingly.
The requirement you have described (to query an Oracle column defined as a CLOB) should work with the DataDirect 4.1 driver.
Once you have raised the problem with the support team then please post the PMR number here. Thx. _________________ Regards, Ian |
|
Back to top |
|
 |
|