Unix Technical Forum

Nickname in two phase commit ????

This is a discussion on Nickname in two phase commit ???? within the DB2 forums, part of the Database Server Software category; --> Hi, I have two databases in the same instance, sourcedb and targetdb. In sourcedb I created one table (t1). ...


Go Back   Unix Technical Forum > Database Server Software > DB2

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-27-2008, 05:12 AM
MelApiso
 
Posts: n/a
Default Nickname in two phase commit ????

Hi,
I have two databases in the same instance, sourcedb and
targetdb. In sourcedb I created one table (t1). In targetdb I created
another table (t2).

In sourcedb I created one nickname (N2) for T2 table in targetdb.

I can execute this statement OK

db2 "insert into T1 values......"

this statement OK (insert into nickname connected to sourcedb)

db2 "insert into N2 values ....."

but I can't execute both statements in the same transaction

db2 +c "insert into T1 values ......"
db2 +c "insert into N2 values ......"


DB21034E The command was processed as an SQL statement because it was not
a
valid Command Line Processor command. During SQL processing it returned:
SQL30090N Operation invalid for application execution environment. Reason
code = "18". SQLSTATE=25000


What's the problem here ?????


Thanks in advance
Mel

*** Sent From/Enviado desde: http://groups.expo.st ***


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 02-27-2008, 05:12 AM
Pierre Saint-Jacques
 
Posts: n/a
Default Re: Nickname in two phase commit ????

Seems like you are doing this from the command line.
DO;
db2 qyuery client
Ypu should see that connect ype is 1 and syncpoint is onephase.

What you are trying to do in the "samw" unit of work (+c) is to connect to
two databases in change mode. This is not allowed with the environment of
connect type 1 and syncpoint onephase. You need to specify that your command
window environment runs differently.
Do:
db2 set client connect 2 syncpoint twophase
db2 connect to sourcedb
db2 connect to target db
db2 +c "insert into T1 values ......"
db2 +c "insert into N2 values ......"
db2 commit
db2 disconnect all

This should work. Also, you may want to read a bit in the Admin Guide about
this environment.

HTH, Pierre.
--
Pierre Saint-Jacques
SES Consultants Inc.
514-737-4515
"MelApiso" <Mel_Apiso@hotmail.com> a écrit dans le message de news:
b4154ebb02141cb8b38caf1ef7246faa$1@groups.expo.st. ..
> Hi,
> I have two databases in the same instance, sourcedb and
> targetdb. In sourcedb I created one table (t1). In targetdb I created
> another table (t2).
>
> In sourcedb I created one nickname (N2) for T2 table in targetdb.
>
> I can execute this statement OK
> db2 "insert into T1 values......"
>
> this statement OK (insert into nickname connected to sourcedb)
>
> db2 "insert into N2 values ....."
>
> but I can't execute both statements in the same transaction
>
> db2 +c "insert into T1 values ......"
> db2 +c "insert into N2 values ......"
>
>
> DB21034E The command was processed as an SQL statement because it was not
> a
> valid Command Line Processor command. During SQL processing it returned:
> SQL30090N Operation invalid for application execution environment.
> Reason
> code = "18". SQLSTATE=25000
>
>
> What's the problem here ?????
>
>
> Thanks in advance Mel
>
> *** Sent From/Enviado desde: http://groups.expo.st ***
>
>


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 02-27-2008, 05:12 AM
Pierre Saint-Jacques
 
Posts: n/a
Default Re: Nickname in two phase commit ????

After looking at my note I thought this may not work with nicknamed tables,
I'm not sure but I don't think it will..
It will work like this though:
db2 set client connect 2 syncpoint twophase
db2 connect to sourcedb
db2 +c "insert into T1 values ......"
db2 connect to target db
db2 +c "insert into T2 values ......"
db2 commit
db2 disconnect all

Apologies, Pierre.
--
Pierre Saint-Jacques
SES Consultants Inc.
514-737-4515
"Pierre Saint-Jacques" <sescons@invalid.net> a écrit dans le message de
news: nydye.6642$wo.749327@weber.videotron.net...
> Seems like you are doing this from the command line.
> DO;
> db2 qyuery client
> Ypu should see that connect ype is 1 and syncpoint is onephase.
>
> What you are trying to do in the "samw" unit of work (+c) is to connect to
> two databases in change mode. This is not allowed with the environment of
> connect type 1 and syncpoint onephase. You need to specify that your
> command window environment runs differently.
> Do:
> db2 set client connect 2 syncpoint twophase
> db2 connect to sourcedb
> db2 connect to target db
> db2 +c "insert into T1 values ......"
> db2 +c "insert into N2 values ......"
> db2 commit
> db2 disconnect all
>
> This should work. Also, you may want to read a bit in the Admin Guide
> about this environment.
>
> HTH, Pierre.
> --
> Pierre Saint-Jacques
> SES Consultants Inc.
> 514-737-4515
> "MelApiso" <Mel_Apiso@hotmail.com> a écrit dans le message de news:
> b4154ebb02141cb8b38caf1ef7246faa$1@groups.expo.st. ..
>> Hi,
>> I have two databases in the same instance, sourcedb and
>> targetdb. In sourcedb I created one table (t1). In targetdb I created
>> another table (t2).
>>
>> In sourcedb I created one nickname (N2) for T2 table in targetdb.
>>
>> I can execute this statement OK
>> db2 "insert into T1 values......"
>>
>> this statement OK (insert into nickname connected to sourcedb)
>>
>> db2 "insert into N2 values ....."
>>
>> but I can't execute both statements in the same transaction
>>
>> db2 +c "insert into T1 values ......"
>> db2 +c "insert into N2 values ......"
>>
>>
>> DB21034E The command was processed as an SQL statement because it was
>> not a
>> valid Command Line Processor command. During SQL processing it returned:
>> SQL30090N Operation invalid for application execution environment.
>> Reason
>> code = "18". SQLSTATE=25000
>>
>>
>> What's the problem here ?????
>>
>>
>> Thanks in advance Mel
>>
>> *** Sent From/Enviado desde: http://groups.expo.st ***
>>
>>

>


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 02-27-2008, 05:12 AM
joonw@yahoo.com
 
Posts: n/a
Default Re: Nickname in two phase commit ????

I don't think this is supported in v8.

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 02-27-2008, 05:12 AM
Mark Yudkin
 
Posts: n/a
Default Re: Nickname in two phase commit ????

As indicated by the text of the error message, you can only update against
two databases simultaneously if your execution environment supports it. In
general, this means executing under the control of a suitable transaction
monitor - either an external one (recommended) or the DB2-provided one (last
resort measure). Review the documentation on configuring and using
transaction monitors.

The db2 command line processor is not a transaction monitor, so your case
won't work.

"MelApiso" <Mel_Apiso@hotmail.com> wrote in message
news:b4154ebb02141cb8b38caf1ef7246faa$1@groups.exp o.st...
> Hi,
> I have two databases in the same instance, sourcedb and
> targetdb. In sourcedb I created one table (t1). In targetdb I created
> another table (t2).
>
> In sourcedb I created one nickname (N2) for T2 table in targetdb.
>
> I can execute this statement OK
> db2 "insert into T1 values......"
>
> this statement OK (insert into nickname connected to sourcedb)
>
> db2 "insert into N2 values ....."
>
> but I can't execute both statements in the same transaction
>
> db2 +c "insert into T1 values ......"
> db2 +c "insert into N2 values ......"
>
>
> DB21034E The command was processed as an SQL statement because it was not
> a
> valid Command Line Processor command. During SQL processing it returned:
> SQL30090N Operation invalid for application execution environment.
> Reason
> code = "18". SQLSTATE=25000
>
>
> What's the problem here ?????
>
>
> Thanks in advance Mel
>
> *** Sent From/Enviado desde: http://groups.expo.st ***
>
>



Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 08:49 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com