StrataFrame Forum

TransactionKey property

http://forum.strataframe.net/Topic15532.aspx

By Ertan Deniz - 4/11/2008

I think this key is used to get DbTransaction object from  Transaction Collection.

(DataBasics.DataSources[""].Transactions).

Normally, When BusinessLayer.TransactionBegin is called a DbTransaction Object is added to the collection with a default key value. This default transaction will be used.

When do I need simultaneous transactions ? I mean, When will be more than one transactions in that collection. So I will follow a key.

 

 

 

By Trent L. Taylor - 4/11/2008

When do I need simultaneous transactions ? I mean, When will be more than one transactions in that collection. So I will follow a key.

The beauty of StrataFrame is that you can have different business objects saving on different transactions.  When you call the Save you can supply the transaction key.  So if you start more than one transaction you will have more than one in this collection.  This allows some BOs to be saved on Transaction A, others on Transaction B, and some not on a transaction if you have this need.

By Ertan Deniz - 4/11/2008

Thanks for quick response.
By Trent L. Taylor - 4/11/2008

No problem Smile
By hector - 2/23/2010

Hi Taylor,

Is this "transaction key" mechanizm same as "savepoint mechanizm in oracle or sql server"?

Can u explain little bit?

Kind regards...

By Trent L. Taylor - 2/24/2010

The transactions work the same across all databases in respect to how the framework interacts with the business objects and data access layer. So yes, this would be the same in SQL Server or Oracle.



If you are new to transactions within StrataFrame, then I would recommend taking a look at the docs as well. You can see more about using transactional processing in the help topic:



Application Framework -> Business Layer -> Common Business object Tasks -> Using Transactional Processing




One thing to keep in mind with StrataFrame and transactions is that you can create as many simultaneous transactions as necessary and you can choose which BOs will be saved on what transaction using the transaction key specified by you, the developer. You can even save a BO off of the transaction while others are being save on a transaction. So transactional processing in StrataFrame is very flexible.
By Edhy Rijo - 2/24/2010

Trent L. Taylor (02/24/2010)


One thing to keep in mind with StrataFrame and transactions is that you can create as many simultaneous transactions as necessary and you can choose which BOs will be saved on what transaction using the transaction key specified by you, the developer. You can even save a BO off of the transaction while others are being save on a transaction. So transactional processing in StrataFrame is very flexible.




I must say that I use SF Transactions all over and they are in fact very flexible and extremely easier to setup and control.
By hector - 2/24/2010

Trent L. Taylor (02/24/2010)
The transactions work the same across all databases in respect to how the framework interacts with the business objects and data access layer. So yes, this would be the same in SQL Server or Oracle.


Hi Taylor,

Let me put my question more clear since i know about transactional processing :

I wonder whether "transaction key" issue  corresponds to savepoint_varible in

the following (Transact-SQL) MS SQl Server command

SAVE { TRAN | TRANSACTION } { savepoint_name | @savepoint_variable } [ ; ]     ( MS SQL SERVER)

As you know same command in oracle is

SAVEPOINT <savepoint id>

I hope my question is more clear now.

Kind regards....

By Dustin Taylor - 2/25/2010

Hi Hector,

No, the transaction key relates to the transaction name, not a savepoint name. 

The difference being that passing a new transaction key from within strataframe would not create a new SavePoint within the existing transaction but, instead, would create a brand new transaction with the "transaction_name" being the StrataFrame transaction key.

So, in the MSDN online docs here, the StrataFrame transaction key relates to transaction_name | @tran_name_variable.

By hector - 2/25/2010

Hi Taylor,

Can u suggest a way to implement savepoint issue in Strata Framework?

Or it is impossible?

Kind regards...

By hector - 2/26/2010

Hi Taylor,

Could you please comment on this?

Kind regards....

By Trent L. Taylor - 3/1/2010

StrataFrame business objects have the ability to create a snapshot and then restore a snap shot of any contents of a BO. This can be done on a key as well and can be extremely useful.



MyBO.SaveCurrentDataTableToSnapshot("MySnapshotKey");

MyBO.RestoreCurrentDataTableSnapshot("MySnapshotKey", true);




The above code will save and respectively restore a snapshot saved off on a BO. You can do anything you like between the two and when you call the restore, the BO will be returned to its original state. Now this doesn't persist back to the database this way. If you are doing this during saves, then you need to use a transaction, which goes back to your original inquiry regarding a BO and transactions. If I am missing something, then please further explain what you are trying to accomplish.