Author |
Message
|
SergeiKA |
Posted: Wed Aug 26, 2009 8:24 pm Post subject: Problem with PASSTHRU statement and Oracle DB |
|
|
Newbie
Joined: 26 Aug 2009 Posts: 5 Location: Novosibirsk, Russia
|
Hi,
first of all sorry for my poor english
I have a problem with PASSTHRU statement.
I need to execute some sql-scripts using PASSTHRU. In these scripts parameters in cp1251 coding are inserted in Oracle DB (NLS_CHARACTERSET=CL8MSWIN1251).
The primitive examle of the ESQL-code with script:
PASSTHRU('begin
insert into Table1 (Par1, Par2)
values ('''', ''Привет мир!'');
commit;
end;');
We have two servers with MB: one for dev and the other for test purpose.
On the first server the data is inserted correctly in the external DB, but on the second the data is inserted in wrong coding in the same external DB.
On the first server we have parameters:
brkuser@t34:~> echo $NLS_LANG
AMERICAN_AMERICA.CL8MSWIN1251
brkuser@t34:~> locale
LANG=ru_RU.CP1251
LC_CTYPE="ru_RU.CP1251"
LC_NUMERIC="ru_RU.CP1251"
LC_TIME="ru_RU.CP1251"
LC_COLLATE="ru_RU.CP1251"
LC_MONETARY="ru_RU.CP1251"
LC_MESSAGES="ru_RU.CP1251"
LC_PAPER="ru_RU.CP1251"
LC_NAME="ru_RU.CP1251"
LC_ADDRESS="ru_RU.CP1251"
LC_TELEPHONE="ru_RU.CP1251"
LC_MEASUREMENT="ru_RU.CP1251"
LC_IDENTIFICATION="ru_RU.CP1251"
LC_ALL=
We set the same parameters on the second server, but this has no result.
On the IBM support we have been advised to use INSERT statement istead of PASSTHRU, because PASSTHRU satement is using for administrative purposes.
But in our case we can't use INSERT statement, and besides we have already sured, that PASSTHRU works on one server. So we need to configure the other.
If anybody has some ideas how to configure broker in our case, please tell us.
Thanks! |
|
Back to top |
|
 |
AkankshA |
Posted: Wed Aug 26, 2009 10:09 pm Post subject: |
|
|
 Grand Master
Joined: 12 Jan 2006 Posts: 1494 Location: Singapore
|
whats the ouptout of
mqsiservice <BROKER>
on both the servers ? _________________ Cheers |
|
Back to top |
|
 |
smdavies99 |
Posted: Wed Aug 26, 2009 11:15 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
What codepage was the (failing) Oracle database created with?
I suspect that the two databases may have different codepages. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
SergeiKA |
Posted: Thu Aug 27, 2009 4:57 am Post subject: |
|
|
Newbie
Joined: 26 Aug 2009 Posts: 5 Location: Novosibirsk, Russia
|
AkankshA wrote: |
whats the ouptout of
mqsiservice <BROKER>
on both the servers ? |
On the first (successful) server:
brkuser@t34:~> mqsiservice DEV.NSK.URSA.BR
BIPv610 ru RU
ucnv Console CCSID 5347 dft ucnv CCSID 5347
ICUW ibm-5347_P100-1998 ICUA ibm-5347_P100-1998
Install Path = /opt/ibm/mqsi/6.1
Working Path = /var/mqsi
Component UUID = 50967bd7-2001-0000-0080-e4646e1e99d0
process id = 23691
broker db name = ESBDB
broker db userId = MBROKER
broker db password =
queue manager = MB_DEV.NSK.URSA.QM
pubsub migration = no
fastpath Queue Manager = no
configuration timeout = 300
configuration delay timeout = 60
statistics major interval = 60
ComponentType = Broker
Fixpack capability level = (effective level 6.1.0.2)
On the second server:
brkuser@esb-test:~> mqsiservice NSK.TST.URSA.BR
BIPv610 en US POSIX
ucnv Console CCSID 5347 dft ucnv CCSID 5347
ICUW ibm-5347_P100-1998 ICUA ibm-5347_P100-1998
Install Path = /opt/ibm/mqsi/6.1
Working Path = /var/mqsi
Component UUID = 794db6ef-2001-0000-0080-8401bd2e8a1e
process id = 10949
broker db name = ESBDB
broker db userId = MBROKER
broker db password =
queue manager = MB_TST.NSK.URSA.QM
pubsub migration = no
fastpath Queue Manager = no
configuration timeout = 300
configuration delay timeout = 60
statistics major interval = 60
ComponentType = Broker
Fixpack capability level = (effective level 6.1.0.2) |
|
Back to top |
|
 |
SergeiKA |
Posted: Thu Aug 27, 2009 5:06 am Post subject: |
|
|
Newbie
Joined: 26 Aug 2009 Posts: 5 Location: Novosibirsk, Russia
|
smdavies99 wrote: |
What codepage was the (failing) Oracle database created with?
I suspect that the two databases may have different codepages. |
smdavies99, we have two different broker servers, and one Oracel DB, in which the data from these servers is imported.
This database was created with character set CL8MSWIN1251. |
|
Back to top |
|
 |
SergeiKA |
Posted: Wed Sep 02, 2009 12:21 am Post subject: |
|
|
Newbie
Joined: 26 Aug 2009 Posts: 5 Location: Novosibirsk, Russia
|
The problem was solved
The second server start work properly after 2 operations (may be only one is necessary):
1. Reboot server
2. Add in odbc.ini file the string for corresponding ODBC instance :
IANAAppCodePage=2251 |
|
Back to top |
|
 |
|