Author |
Message
|
nukalas2010 |
Posted: Wed Mar 27, 2013 1:55 am Post subject: IBM][ODBC 20101 driver][20101]10703 |
|
|
 Master
Joined: 04 Oct 2010 Posts: 220 Location: Somewhere in the World....
|
Hi All,
The Documentation clearly says that
http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp?topic=/com.ibm.etools.mft.doc/ac00407_.htm
If you are using Oracle:
Your database must be created with NLS_CHARACTERSET of AL32UTF8.
Here in our case, we are trying to connect to the third party Oracle database which having the NLS_CHARACTERSET as AR8MSWIN1256. Hence we are getting the below error.
Code: |
BIP2322E: Database error: SQL State ''21''; Native Error Code '-4'; Error Text ''[IBM][ODBC 20101 driver][20101]10703''. |
Our question is, Is there any other way to connect to this Oracle Database ?? i.e., JDBC.. Because we tried connectivity test using jdbc driver to the same oracle database. But, we would like to prefer ODBC instead of JDBC. Any chance for this..
Your valuable suggesstions are highly appreciated..
Thanks in Advance.. |
|
Back to top |
|
 |
lancelotlinc |
Posted: Wed Mar 27, 2013 4:40 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
You can connect via ODBC from ESQL compute nodes. You can connect via JDBC from Java compute nodes. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Mar 27, 2013 5:17 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
lancelotlinc wrote: |
You can connect via ODBC from ESQL compute nodes. You can connect via JDBC from Java compute nodes. |
It's possible to use JDBC from a Compute node.....
Otherwise, I don't think that there's enough information here to assert that the issue is directly caused by the NLS_CHARACTERSET of the database... |
|
Back to top |
|
 |
nukalas2010 |
Posted: Wed Mar 27, 2013 6:19 am Post subject: |
|
|
 Master
Joined: 04 Oct 2010 Posts: 220 Location: Somewhere in the World....
|
mqjeff wrote: |
lancelotlinc wrote: |
You can connect via ODBC from ESQL compute nodes. You can connect via JDBC from Java compute nodes. |
It's possible to use JDBC from a Compute node..... |
Ohh really ??? We never tried.. Can you throw some light on this..
Till now we tried ODBC via ComputeNodes and JDBC via JCN.
Quote: |
Otherwise, I don't think that there's enough information here to assert that the issue is directly caused by the NLS_CHARACTERSET of the database... |
We believe this is the issue, because all the remaining ORACLE databases we are connecting are having NLS_CHARACTERSET as AL32UTF8 hence never had this exception except this DB. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Mar 27, 2013 6:30 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
nukalas2010 wrote: |
mqjeff wrote: |
lancelotlinc wrote: |
You can connect via ODBC from ESQL compute nodes. You can connect via JDBC from Java compute nodes. |
It's possible to use JDBC from a Compute node..... |
Ohh really ??? We never tried.. Can you throw some light on this..
Till now we tried ODBC via ComputeNodes and JDBC via JCN. |
Code: |
create procedure.... |
Quote: |
Otherwise, I don't think that there's enough information here to assert that the issue is directly caused by the NLS_CHARACTERSET of the database... |
We believe this is the issue, because all the remaining ORACLE databases we are connecting are having NLS_CHARACTERSET as AL32UTF8 hence never had this exception except this DB.[/quote]
So you have successfully connected to other Oracle databases using ODBC. And the only differences between the working configurations and the non-working configurations, other than connection information (hostname, etc) is the NLS_CHARACTERSET of the database... ? |
|
Back to top |
|
 |
nukalas2010 |
Posted: Wed Mar 27, 2013 6:37 am Post subject: |
|
|
 Master
Joined: 04 Oct 2010 Posts: 220 Location: Somewhere in the World....
|
Got it.. we can do that by creating procedure.. Thanks ..
Quote: |
So you have successfully connected to other Oracle databases using ODBC. And the only differences between the working configurations and the non-working configurations, other than connection information (hostname, etc) is the NLS_CHARACTERSET of the database... ? |
Yes, apart from the connection information only NLS_CHARACTERSET is different. |
|
Back to top |
|
 |
rekarm01 |
Posted: Wed Mar 27, 2013 9:11 am Post subject: Re: [IBM][ODBC 20101 driver][20101]10703 |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
This only applies to databases requiring Unicode support. It doesn't apply to databases configured for single byte character sets such as windows-1256.
nukalas2010 wrote: |
Here in our case, we are trying to connect to the third party Oracle database which having the NLS_CHARACTERSET as AR8MSWIN1256. Hence we are getting the below error.
Code: |
BIP2322E: Database error: SQL State ''21''; Native Error Code '-4'; Error Text ''[IBM][ODBC 20101 driver][20101]10703''. |
|
An ODBC trace might provide more useful information. |
|
Back to top |
|
 |
nukalas2010 |
Posted: Thu May 16, 2013 2:49 am Post subject: |
|
|
 Master
Joined: 04 Oct 2010 Posts: 220 Location: Somewhere in the World....
|
Dears,
We successfully connected to database, using JDBC driver.. and its fine..
But, failing to connect the Oracle Database with ODBC..
We set the NSL_LANG paramter in broker profile as below..
Code: |
export NLS_LANG=ENGLISH_QATAR.AR8MSWIN1256 |
But still getting the error.. while trying to conenct.
Code: |
[TESTDB]
Driver=/opt/IBM/mqsi/7.0/ODBC/V6.0/lib/UKora24.so
Description=DataDirect 6.0 Oracle Wire Protocol
HostName= 192.24.24.24
PortNumber=1001
SID=XXXX
CatalogOptions=0
EnableStaticCursorsForLongData=0
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
ProcedureRetResults=1
ColumnSizeAsCharacter=1
LoginTimeout=0 |
but while trying to test the connectivity using mqsicvp getting the same above mentioned error.. want to know any limitation for ODBC ??
Thanks, |
|
Back to top |
|
 |
dogorsy |
Posted: Thu May 16, 2013 4:19 am Post subject: Re: [IBM][ODBC 20101 driver][20101]10703 |
|
|
Knight
Joined: 13 Mar 2013 Posts: 553 Location: Home Office
|
[quote="rekarm01An ODBC trace might provide more useful information.[/quote]
and so will a broker user trace. Normally there is more than one message explaining the odbc error.
and by the way, wouldn't it be nice if people could make a comment when the issue is solved ? it looks like a lot of them solve the prob and forget completely about it... |
|
Back to top |
|
 |
nukalas2010 |
Posted: Sat May 18, 2013 11:14 pm Post subject: |
|
|
 Master
Joined: 04 Oct 2010 Posts: 220 Location: Somewhere in the World....
|
Hi Guys,
Could you please anyone help me out to find out the odbc trace file.
1) To enable the trace i had done the configurations as below in odbc.ini file.
Code: |
[ODBC]
;# To turn on ODBC trace set Trace=1
Trace=1
;#TraceOptions=3
TraceFile=/home/wmbadmin/odbctrace.out
TraceDll=<Your Broker install directory>/ODBC/V6.0/lib/odbctrac.so
InstallDir=<Your Broker install directory>/ODBC/V6.0
UseCursorLib=0
IANAAppCodePage=4
UNICODE=UTF-8 |
2) Restarted the broker.
3) tested the connectivity.
mqsicvp <brokername> -n <DSN Name>
as pert he configurations the odbctrace file should wrote in /home/wmbadmin/odbctrace.out file.
But I didn't find out the file..
Am I doing anything wrong over here?? or Do I need to test the connectivity directly using the flow itself ??  |
|
Back to top |
|
 |
dogorsy |
Posted: Sat May 18, 2013 11:20 pm Post subject: |
|
|
Knight
Joined: 13 Mar 2013 Posts: 553 Location: Home Office
|
TraceDll=<Your Broker install directory>/ODBC/V6.0/lib/odbctrac.so
InstallDir=<Your Broker install directory>/ODBC/V6.0
you probably also need to change the two lines above, change whatever is enclosed in <>, to your broker install directory, for example:
TraceDll=mqsi/vars/wmbv8/etc/ODBC/V6.0/lib/odbctrac.so
InstallDir=mqsi/vars/wmbv8/etc |
|
Back to top |
|
 |
nukalas2010 |
Posted: Sat May 18, 2013 11:29 pm Post subject: |
|
|
 Master
Joined: 04 Oct 2010 Posts: 220 Location: Somewhere in the World....
|
That means you want me to specify as below..
Code: |
TraceDll=/ODBC/V6.0/lib/odbctrac.so
InstallDir=/ODBC/V6.0 |
or Do I need to specify the complete path in this place <Your Broker install directory> |
|
Back to top |
|
 |
dogorsy |
Posted: Sat May 18, 2013 11:42 pm Post subject: |
|
|
Knight
Joined: 13 Mar 2013 Posts: 553 Location: Home Office
|
sorry, yes, I pressed submit too early, when I realized amended the append.
you need to replace the < ,,,, > with the broker install directory |
|
Back to top |
|
 |
nukalas2010 |
Posted: Sat May 18, 2013 11:45 pm Post subject: |
|
|
 Master
Joined: 04 Oct 2010 Posts: 220 Location: Somewhere in the World....
|
It's ok.. Any how I tried by given the installation path..
and I got the trace file.. |
|
Back to top |
|
 |
dogorsy |
Posted: Sat May 18, 2013 11:51 pm Post subject: |
|
|
Knight
Joined: 13 Mar 2013 Posts: 553 Location: Home Office
|
also, looking at your odbc definition for [TESTDB], the line
SID=XXXX does not look right
you can find the sid for your db in the tnsnames.ora file, somewhere in the oracle installation ( probably you will find more than one, as one is supplied as a template ).
you can also look at the $ORACLE_SID environment variable . |
|
Back to top |
|
 |
|