<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Enterprise Services / COM+</title><link>https://www.dotnetzone.gr:443/cs/forums/26/ShowForum.aspx</link><description>Χρήση του Enterprise Services και του COM+ για να κάνετε host τα components σας</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Re: COM + 1.5 Distributed transaction problem (Sybase)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/3147.aspx</link><pubDate>Tue, 28 Jun 2005 18:58:10 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:3147</guid><dc:creator>axaros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/3147.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=26&amp;PostID=3147</wfw:commentRss><description>&lt;p&gt;Ότι καταλάβατε ...&amp;nbsp;&lt;br /&gt;το guide βέβαια αναφέρεται&amp;nbsp;στην έκδοση 9.0.2&amp;nbsp;&amp;nbsp;:&lt;br /&gt;&lt;br /&gt;&lt;font face="Arial" size="2"&gt;Hi Panos,&lt;/font&gt; &lt;br /&gt;&lt;br /&gt;&lt;font face="sans" size="2"&gt;ASA includes a .NET Data Provider that will allow you to create database-driven applications written with any .NET language.&lt;br /&gt;&lt;br /&gt;ASA supports DTC (Distributed Transaction Coordinator).&amp;nbsp; For complete details, please look at the online help under:&lt;/font&gt; &lt;br /&gt;&lt;font face="sans" size="2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ASA Programming Guide, Three-Tier Computing and Distributed Transactions.&lt;br /&gt;&lt;br /&gt;The online help can be downloaded from the Web the same way you downloaded the eval version.&amp;nbsp; Alternatively, you can view it via Web browser from at:&lt;/font&gt;&lt;font face="sans" color="blue" size="2"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/font&gt;&lt;a target="_blank" title="http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/en/html/index.html" href="http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/en/html/index.html"&gt;&lt;font face="sans" color="blue" size="2"&gt;&lt;u&gt;http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/en/html/index.html&lt;/u&gt;&lt;/font&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;font face="sans" size="2"&gt;Hope this helps.&lt;/font&gt; &lt;br /&gt;&lt;font face="sans" size="2"&gt;Helen Bao&lt;br /&gt;iAnywhere Solutions Inc. &lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;table width="100%"&gt; &lt;tbody&gt; &lt;tr valign="top"&gt; &lt;td width="40%"&gt;&lt;font face="sans" size="1"&gt;&lt;b&gt;"Panos Avramedes" &lt;/b&gt;&lt;/font&gt; &lt;p&gt;&lt;font face="sans" size="1"&gt;06/22/2005 02:51 AM&lt;/font&gt; &lt;/p&gt; &lt;td width="59%"&gt; &lt;table width="100%"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt; &lt;div align="right"&gt;&lt;font face="sans" size="1"&gt;To&lt;/font&gt;&lt;/div&gt; &lt;td valign="top"&gt;&lt;font face="sans" size="1"&gt;&amp;lt;contact_us@ianywhere.com&amp;gt;&lt;/font&gt; &lt;tr&gt; &lt;td&gt; &lt;div align="right"&gt;&lt;font face="sans" size="1"&gt;cc&lt;/font&gt;&lt;/div&gt; &lt;td valign="top"&gt; &lt;tr&gt; &lt;td&gt; &lt;div align="right"&gt;&lt;font face="sans" size="1"&gt;Subject&lt;/font&gt;&lt;/div&gt; &lt;td valign="top"&gt;&lt;font face="sans" size="1"&gt;ASA Personal Server Distributed transaction problem&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt; &lt;table&gt; &lt;tbody&gt; &lt;tr valign="top"&gt; &lt;td&gt; &lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font face="Arial" size="2"&gt;Dear Sir/Madame,&lt;/font&gt; &lt;br /&gt;&lt;font face="Arial" size="2"&gt;I have downloaded and installed ASA (Database Engine Version 9.0.0.1108) trial version .&lt;/font&gt; &lt;br /&gt;&lt;font face="Arial" size="2"&gt;Moreover I am currently working on the .Net platform and in specific I am in need to use serviced components &lt;/font&gt;&lt;br /&gt;&lt;font face="Arial" size="2"&gt;In order to complete distributed transactions tasks.&lt;/font&gt; &lt;br /&gt;&lt;font face="Arial" size="2"&gt;Do you offer two-face commit support for this version of ASA?&lt;/font&gt; &lt;br /&gt;&lt;font face="Arial" size="2"&gt;Is ASA, DTC compatible ?&lt;/font&gt; &lt;br /&gt;&lt;font face="Arial" size="2"&gt;&amp;nbsp;&lt;/font&gt; &lt;br /&gt;&lt;font face="Arial" size="2"&gt;Panos Avramedes,&lt;/font&gt;&amp;nbsp;&lt;br /&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; &lt;/p&gt;</description></item><item><title>Re: COM + 1.5 Distributed transaction problem (Sybase)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2991.aspx</link><pubDate>Wed, 22 Jun 2005 18:01:27 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2991</guid><dc:creator>axaros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2991.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=26&amp;PostID=2991</wfw:commentRss><description>Δάσκαλε καλημέρα !!!&lt;br /&gt;Έχω κατεβάσει το SQL Anywhere Studio (developer edition evaluation)&lt;br /&gt;Στο συγκεκριμένο περιλαμβάνονται τα εξής components :&lt;br /&gt;1) Adaptive Server Anywhere DBMS(Client + Server version)&lt;br /&gt;2) Adaptive Server Anywhere Personal Database with Synchronization&lt;br /&gt;3) Adaptive Server Anywhere Ultra Lite edition&lt;br /&gt;4) jConnect 5.5&lt;br /&gt;5) Cybase Central&lt;br /&gt;6) Physical Architect (evaluation copy)&lt;br /&gt;7) Info Maker (evaluation copy)&lt;br /&gt;&lt;br /&gt;Υποθέτω ότι o Personal Server Sample (9.0.0.1108) χρησιμοποιεί τον Adaptive Server Anywhere Desktop Runtime Edition.&lt;br /&gt;&lt;br /&gt;Το δοκίμασα και με τον Network Server Sample (9.0.0.1108)&amp;nbsp;αλλά δεν έγινε τίποτα ...&lt;br /&gt;&lt;br /&gt;Γενικότερα μην εκφράσω τη γνώμη μου για τη Sybase και το documentation τους ... Το κακό είναι ότι πρέπει να τη χρησιμοποιήσω ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description></item><item><title>Re: COM + 1.5 Distributed transaction problem (Sybase)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2982.aspx</link><pubDate>Wed, 22 Jun 2005 03:27:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2982</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2982.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=26&amp;PostID=2982</wfw:commentRss><description>&lt;font face="Georgia" size="2"&gt;Παναγιώτη μπορείς να εξακριβώσεις ποια έκδοση έχεις;&lt;br /&gt;&lt;br /&gt;Στην Enterprise έκδοση ο&amp;nbsp;Adaptive Server υποστηρίζει DTC. Όχι όμως, ο Adaptive Server®Anywhere Desktop Runtime Edition (&lt;/font&gt;&lt;font face="Georgia" size="2"&gt;&lt;a target="_blank" title="http://download.sybase.com/pdfdocs/awg0900e/rdrten9.pdf" href="http://download.sybase.com/pdfdocs/awg0900e/rdrten9.pdf"&gt;δες το ReadMe&lt;/a&gt;&lt;/font&gt;&lt;font face="Georgia" size="2"&gt;).&lt;br /&gt;&lt;br /&gt;Όντως μέσα στο "&lt;/font&gt;&lt;font face="Georgia" size="2"&gt;&lt;a target="_blank" title="http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/en/pdf/dbpgen9.pdf" href="http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/en/pdf/dbpgen9.pdf"&gt;Adaptive Server Anywhere Programming Guide&lt;/a&gt;&lt;/font&gt;&lt;font face="Georgia" size="2"&gt;" δεν αναφέρεται κάτι για DTC Support. Πιθανώς τρίτοι vendors έχουν φτιάξει provider συμβατούς με DTC. Ίσως τέτοιος είναι αυτός που είδες...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;George J.&lt;br /&gt;&lt;/font&gt;</description></item><item><title>Re: COM + 1.5 Distributed transaction problem (Sybase)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2978.aspx</link><pubDate>Wed, 22 Jun 2005 02:04:12 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2978</guid><dc:creator>axaros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2978.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=26&amp;PostID=2978</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;&lt;font size="4"&gt;Θα σκάσω&amp;nbsp;!!! υπάρχει έτοιμο component :&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;table height="29" cellspacing="0" cellpadding="0" width="596" align="center" border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;span class="main"&gt;&lt;span class="title_download"&gt;OpenX for Sybase ASE/ASA 2.0&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;table height="154" cellspacing="0" cellpadding="0" width="596" align="center" border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td width="596" height="154"&gt; &lt;table cellspacing="0" cellpadding="0" width="596" border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td class="bg_blue1" width="116" height="17"&gt;&lt;span&gt;&lt;span class="main"&gt;Publisher : &lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;td class="bg_blue1" width="480"&gt;&lt;a class="menu2" href="http://www.alltheshareware.com/script/redirect.php?u=aHR0cDovL3d3dy5vcGVueC5jYQ==" target="_blank"&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;&lt;span class="menu2"&gt;DataSphere&lt;/span&gt; &lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="main" height="17"&gt;Date added : &lt;/td&gt; &lt;td class="main" height="17"&gt;2002-11-11&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="bg_blue1" height="17"&gt;&lt;span class="main"&gt;Rating :&lt;/span&gt; &lt;/td&gt; &lt;td class="bg_blue1" height="17"&gt;no review &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="main" height="17"&gt;File size :&lt;/td&gt; &lt;td class="main" height="17"&gt;410 KB&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="bg_blue1" height="17"&gt;&lt;span class="main"&gt;Language : &lt;/span&gt;&lt;/td&gt; &lt;td class="bg_blue1" height="17"&gt;&lt;span class="main"&gt;English&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="main" height="17"&gt;License : &lt;/td&gt; &lt;td class="main" height="17"&gt;Demo&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="bg_blue1" height="17"&gt;&lt;span class="main"&gt;Price : &lt;/span&gt;&lt;/td&gt; &lt;td class="bg_blue1" height="17"&gt;&lt;span class="main"&gt;$299&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="main" height="17"&gt;Limitations : &lt;/td&gt; &lt;td class="main" height="17"&gt;N/A&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="bg_blue1" height="17"&gt;&lt;span class="main"&gt;OS : &lt;/span&gt;&lt;/td&gt; &lt;td class="bg_blue1" height="17"&gt;&lt;span class="main"&gt;WinNT 3.x,NT 4.x,2000&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="main" height="18"&gt;Requirements : &lt;/td&gt; &lt;td class="main" height="18"&gt;No special requirements&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;table class="table_line1" height="31" cellspacing="0" cellpadding="0" width="596" align="center" border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td height="29"&gt;&lt;span class="main"&gt;&lt;a target="_blank" title="http://www.alltheshareware.com/script/dl.php?u=aHR0cDovL3d3dy5vcGVueC5jYS9kZGwuYXNwP3Y9c3li&amp;amp;id=49637" target="_blank" href="http://www.alltheshareware.com/script/dl.php?u=aHR0cDovL3d3dy5vcGVueC5jYS9kZGwuYXNwP3Y9c3li&amp;amp;id=49637" target="_blank"&gt;&lt;img title="Download NOW!" height="16" src="http://www.alltheshareware.com/images/btn_down.gif" width="77" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt; &lt;table height="390" cellspacing="0" cellpadding="0" width="596" align="center" border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td class="main" valign="top" width="596" height="390"&gt; &lt;table height="250" cellspacing="0" cellpadding="0" width="300" align="right" border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="300" height="250"&gt; &lt;iframe name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-8979335776506251&amp;amp;dt=1119369670343&amp;amp;lmt=1119369670&amp;amp;format=300x250_as&amp;amp;output=html&amp;amp;channel=6009859249&amp;amp;url=http%3A%2F%2Fwww.alltheshareware.com%2FOpenX-for-Sybase-ASE-ASA-Software-49637.html&amp;amp;color_bg=FFFFFF&amp;amp;color_text=000000&amp;amp;color_link=FF3333&amp;amp;color_url=FFFFFF&amp;amp;color_border=FFFFFF&amp;amp;ref=http%3A%2F%2Fwww.google.com.gr%2Fsearch%3Fnum%3D100%26hl%3Del%26q%3DSybase%2BASA%2B%252B%2BCOM%252B%26meta%3D&amp;amp;cc=100&amp;amp;u_h=1024&amp;amp;u_w=1280&amp;amp;u_ah=996&amp;amp;u_aw=1280&amp;amp;u_cd=16&amp;amp;u_tz=180&amp;amp;u_his=9&amp;amp;u_java=true" frameborder="0" width="300" scrolling="no" height="250" allowtransparency=""&gt;&lt;img height="1" width="1" border="0" src="http://pagead2.googlesyndication.com/pagead/imp.gif?event=noiframe&amp;client=ca-pub-8979335776506251&amp;dt=1119369670343&amp;lmt=1119369670&amp;format=300x250_as&amp;output=html&amp;channel=6009859249&amp;url=http%3A%2F%2Fwww.alltheshareware.com%2FOpenX-for-Sybase-ASE-ASA-Software-49637.html&amp;color_bg=FFFFFF&amp;color_text=000000&amp;color_link=FF3333&amp;color_url=FFFFFF&amp;color_border=FFFFFF&amp;ref=http%3A%2F%2Fwww.google.com.gr%2Fsearch%3Fnum%3D100%26hl%3Del%26q%3DSybase%2BASA%2B%252B%2BCOM%252B%26meta%3D&amp;cc=100&amp;u_h=1024&amp;u_w=1280&amp;u_ah=996&amp;u_aw=1280&amp;u_cd=16&amp;u_tz=180&amp;u_his=9&amp;u_java=true" /&gt;&lt;/iframe&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;OpenX is a multi level software component for developing multitier enterprise applications that require access to relational database management systems locally or across Intranets or the Internet. At present, OpenX is a COM/COM+ component and is fully compatible with ASP. Its low-level interface offers data access optimizations and access to database-specific features. OpenX works with SQL Server, Oracle, Sybase, DB2, Informix, InterBase, Centura SQLBase, and&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font style="BACKGROUND-COLOR: #efefef" size="4"&gt;Τι κάνω λάθος ρε παιδιά ???&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: COM + 1.5 Distributed transaction problem (Sybase)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2977.aspx</link><pubDate>Wed, 22 Jun 2005 01:41:27 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2977</guid><dc:creator>axaros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2977.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=26&amp;PostID=2977</wfw:commentRss><description>Άρη άκυρο βρήκα το εξής σχόλιο για την version 7 (οπότε δεν νομίζω να το έκοψαν στην 9):&lt;br /&gt;&lt;br /&gt; &lt;p class="pBody"&gt;&lt;b&gt;Version 7.0.0 &lt;/b&gt;&lt;/p&gt;&lt;a name="wp898861"&gt;&lt;/a&gt; &lt;p class="pBody"&gt;1. Unloading result sets. The new UNLOAD SQL statement makes possible the unloading of query result set into a comma-delimited text file. &lt;/p&gt;&lt;a name="wp898862"&gt;&lt;/a&gt; &lt;p class="pBody"&gt;2. &lt;strong&gt;Distributed transactions and three-tired computing. Distributed transactions&lt;/strong&gt; include operations on more than one server in a single transaction. A transaction server controls the commit and rollback behavior of distributed transactions. &lt;/p&gt;&lt;a name="wp898863"&gt;&lt;/a&gt; &lt;p class="pBody"&gt;&lt;strong&gt;In this release, Adaptive Server Anywhere can participate in distributed transactions coordinated by the Microsoft Distributed Transaction Coordinator (DTC)&lt;/strong&gt;. Products such as Sybase Application Server and Microsoft Transaction Server can use DTC for the coordination of transaction, so DTC support enables Adaptive Server Anywhere to participate in three-tired computing with these products&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Δείτε όλο το άρθρο :&lt;br /&gt;&lt;a target="_blank" title="http://www.ispirer.com/doc/sqlways38/Output/SQLWays-1-186.html" href="http://www.ispirer.com/doc/sqlways38/Output/SQLWays-1-186.html"&gt;http://www.ispirer.com/doc/sqlways38/Output/SQLWays-1-186.html&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Re: COM + 1.5 Distributed transaction problem (Sybase)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2967.aspx</link><pubDate>Wed, 22 Jun 2005 00:00:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2967</guid><dc:creator>axaros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2967.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=26&amp;PostID=2967</wfw:commentRss><description>Δεν το ξέρω Άρη ... &lt;br /&gt;Αλλά προφανώς έχεις δίκιο ...&lt;br /&gt;Το version που έχω είναι&amp;nbsp;: &lt;br /&gt;Adaptive Server Anywhere 9.0.0.1108</description></item><item><title>Re: COM + 1.5 Distributed transaction problem (Sybase)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2965.aspx</link><pubDate>Tue, 21 Jun 2005 23:24:47 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2965</guid><dc:creator>Aris</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2965.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=26&amp;PostID=2965</wfw:commentRss><description>Είσαι βέβαιος ότι είναι DTC-compatible;&lt;br /&gt;&lt;br /&gt;Ψάχνοντας στο site &lt;a target="_blank" title="http://www.iAnywhere.com" href="http://www.iAnywhere.com"&gt;www.iAnywhere.com&lt;/a&gt; δεν είδα πουθενά να μιλάει για δυνατότητα distributed transactions...&lt;br /&gt;&lt;br /&gt;Άρης</description></item><item><title>Re: COM + 1.5 Distributed transaction problem (Sybase)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2948.aspx</link><pubDate>Tue, 21 Jun 2005 19:00:40 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2948</guid><dc:creator>axaros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2948.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=26&amp;PostID=2948</wfw:commentRss><description>&lt;font size="4"&gt;Houston we have a problem ....&lt;br /&gt;&lt;br /&gt;Τρία classes .. &lt;br /&gt;&lt;br /&gt;Το ένα κάνει ένα write σε πίνακα της Sybase :&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#0000ff" size="2"&gt; &lt;p&gt;Imports&lt;/font&gt;&lt;font size="2"&gt; System.EnterpriseServices&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt; &lt;p&gt;Imports&lt;/font&gt;&lt;font size="2"&gt; iAnywhere.Data.AsaClient&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt; &lt;p&gt;Public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Interface&lt;/font&gt;&lt;font size="2"&gt; ISybaseCall&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;font size="2"&gt; WriteToSybase(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;font size="2"&gt; SybaseConnectionString &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;font size="2"&gt;)&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt; &lt;p&gt;End&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Interface&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;&amp;lt;Description("Transactional Sybase Object"), _&lt;/p&gt; &lt;p&gt;Transaction(TransactionOption.Supported), _&lt;/p&gt; &lt;p&gt;Synchronization(SynchronizationOption.Required)&amp;gt; _&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt; &lt;p&gt;Public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Class&lt;/font&gt;&lt;font size="2"&gt; Sybase&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Inherits&lt;/font&gt;&lt;font size="2"&gt; ServicedComponent&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Implements&lt;/font&gt;&lt;font size="2"&gt; ISybaseCall&lt;/p&gt; &lt;p&gt;&amp;lt;Description("Write to Sybase Server")&amp;gt; _&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;font size="2"&gt; WriteToSybase(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;font size="2"&gt; SybaseConnectionString &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;font size="2"&gt;) &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Implements&lt;/font&gt;&lt;font size="2"&gt; ISybaseCall.WriteToSybase&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;font size="2"&gt; MyCon &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;font size="2"&gt; AsaConnection(SybaseConnectionString)&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;font size="2"&gt; MyCom &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;font size="2"&gt; AsaCommand("INSERT INTO SYTEST(Des) Values('SybaseWriteTest')", MyCon)&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;MyCon.Open()&lt;/p&gt; &lt;p&gt;MyCom.ExecuteNonQuery()&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Catch&lt;/font&gt;&lt;font size="2"&gt; ex &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; Exception&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Throw&lt;/font&gt;&lt;font size="2"&gt; ex&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Finally&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;MyCon.Dispose()&lt;/p&gt; &lt;p&gt;MyCom.Dispose()&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/p&gt; &lt;p&gt;End&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Class&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#000000" size="4"&gt;Το δεύτερο σε πίνακα στον SQL Server :&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/p&gt; &lt;p&gt;Imports&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt; System.EnterpriseServices&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt; &lt;p&gt;Imports&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt; System.Data.SqlClient&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt; &lt;p&gt;Public&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Interface&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt; ISqlServerCall&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;font size="2"&gt; WriteToSqlServer(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;font size="2"&gt; SINPServerConnectionString &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;font size="2"&gt;)&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt; &lt;p&gt;End&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Interface&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;&amp;lt;Description("Transactional SQL Object"), _&lt;/p&gt; &lt;p&gt;Transaction(TransactionOption.Supported), _&lt;/p&gt; &lt;p&gt;Synchronization(SynchronizationOption.Required)&amp;gt; _&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt; &lt;p&gt;Public&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Class&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt; sqlserver&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Inherits&lt;/font&gt;&lt;font size="2"&gt; ServicedComponent&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Implements&lt;/font&gt;&lt;font size="2"&gt; ISqlServerCall&lt;/p&gt; &lt;p&gt;&amp;lt;Description("Write to Sql Server")&amp;gt; _&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;font size="2"&gt; WriteToSqlServer(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;font size="2"&gt; SQLServerConnectionString &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;font size="2"&gt;) &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Implements&lt;/font&gt;&lt;font size="2"&gt; ISqlServerCall.WriteToSqlServer&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;font size="2"&gt; MyCon &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;font size="2"&gt; SqlConnection(SQLServerConnectionString)&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;font size="2"&gt; MyCom &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;font size="2"&gt; SqlCommand("INSERT INTO tblSqlTest(Des) Values('SQLWriteTest')", MyCon)&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;MyCon.Open()&lt;/p&gt; &lt;p&gt;MyCom.ExecuteNonQuery()&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Catch&lt;/font&gt;&lt;font size="2"&gt; ex &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; Exception&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Throw&lt;/font&gt;&lt;font size="2"&gt; ex&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Finally&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;MyCon.Dispose()&lt;/p&gt; &lt;p&gt;MyCom.Dispose()&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/p&gt; &lt;p&gt;End&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Class&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#000000" size="4"&gt;Το τρίτο απλά κάνει το coordination :&lt;br /&gt;&lt;br /&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/p&gt; &lt;p&gt;Imports&lt;/font&gt;&lt;font size="2"&gt; System.EnterpriseServices&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt; &lt;p&gt;Public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Interface&lt;/font&gt;&lt;font size="2"&gt; IDistributed&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;font size="2"&gt; WriteToBothDatabases(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;font size="2"&gt; SINPServerConnectionString &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;font size="2"&gt;, _&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;font size="2"&gt; SybaseConnectionString &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;font size="2"&gt;)&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt; &lt;p&gt;End&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Interface&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;&amp;lt;Description("Coordinates a distributed transaction"), _&lt;/p&gt; &lt;p&gt;Transaction(TransactionOption.Required), _&lt;/p&gt; &lt;p&gt;Synchronization(SynchronizationOption.Required)&amp;gt; _&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Class&lt;/font&gt;&lt;font size="2"&gt; Distributed&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Inherits&lt;/font&gt;&lt;font size="2"&gt; ServicedComponent&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Implements&lt;/font&gt;&lt;font size="2"&gt; IDistributed&lt;/p&gt; &lt;p&gt;&amp;lt;Description("Write to both Servers"), _&lt;/p&gt; &lt;p&gt;AutoComplete(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;False&lt;/font&gt;&lt;font size="2"&gt;)&amp;gt; _&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;font size="2"&gt; WriteToBothDatabases(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;font size="2"&gt; InSQLServerConnectionString &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;font size="2"&gt; InSybaseConnectionString &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;font size="2"&gt;) &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Implements&lt;/font&gt;&lt;font size="2"&gt; IDistributed.WriteToBothDatabases&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;font size="2"&gt; MySqlOb &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; sqlserver&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;font size="2"&gt; MySybaseOb &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; Sybase&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;MySqlOb = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;font size="2"&gt; sqlserver&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;With&lt;/font&gt;&lt;font size="2"&gt; MySqlOb&lt;/p&gt; &lt;p&gt;.WriteToSqlServer(InSQLServerConnectionString)&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;With&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;MySybaseOb = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;font size="2"&gt; Sybase&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;With&lt;/font&gt;&lt;font size="2"&gt; MySybaseOb&lt;/p&gt; &lt;p&gt;.WriteToSybase(InSybaseConnectionString)&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;With&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;&lt;font color="#ff0000" size="4"&gt;ContextUtil.SetAbort()&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Catch&lt;/font&gt;&lt;font size="2"&gt; ex &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;font size="2"&gt; Exception&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000" size="2"&gt;ContextUtil.SetAbort()&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff" size="2"&gt;Throw&lt;/font&gt;&lt;font size="2"&gt; ex&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Finally&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;MySqlOb.Dispose()&lt;/p&gt; &lt;p&gt;MySybaseOb.Dispose()&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/p&gt; &lt;p&gt;End&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;Class&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;/font&gt;&lt;br /&gt;To ContextId είναι το ίδιο, το TransactionId είναι το ίδιο ...&lt;br /&gt;But ...&lt;br /&gt;Η Sybase δεν κάνει Rollback ενώ ο SQL Server το κάνει κανονικότατα ....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;</description></item><item><title>Re: COM + 1.5 Distributed transaction problem (Sybase)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2585.aspx</link><pubDate>Thu, 09 Jun 2005 05:47:33 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2585</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2585.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=26&amp;PostID=2585</wfw:commentRss><description>&lt;p align="justify"&gt;&lt;font style="BACKGROUND-COLOR: #efefef" face="Georgia"&gt;&lt;font size="2"&gt;Σωστά, ο transaction manager δεν θα αφήσει τίποτα να περάσει, αλλά θα είναι κάπως περίεργο ότι όλα τελιώνουν κανονικά, και τίποτα&amp;nbsp;να μην&amp;nbsp;γίνει; Το μόνο κακό είναι ότι δεν είναι και το "κομψότερο" πράγμα όσο έχει να κάνει με τα resources.&lt;br /&gt;&lt;br /&gt;Παρενέργεια δεν υπάρχει... &lt;img src="/forums//emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;&lt;br /&gt;George J.&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;</description></item><item><title>Re: COM + 1.5 Distributed transaction problem (Sybase)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2573.aspx</link><pubDate>Wed, 08 Jun 2005 17:50:03 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2573</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2573.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=26&amp;PostID=2573</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Σωστή παρατήρηση! Παρέλειψα να πω πως όλη η συλλογιστική βασιζόταν στο οτι υπάρχει παντού χειρισμός exceptions και πέρασμα των exceptions στο πατρικό component για να αποφασίσει τι γίνεται.&lt;br /&gt;&lt;br /&gt;Μια και το έθιξες όμως, γιατί να μην αφήσεις (υποθετικά) τον transaction manager να τα κανονίσει όλα; Εγώ καταλαβαίνω οτι απλα το πατρικό component μπορεί να έχει και άλλες κλήσεις τις οποίες θα αναγκαστεί να κάνει ακόμα και αν στην πρωτη κλήση έχει γίνει abort το transaction. Υπάρχει κάποια άλλη παρενέργεια εκτός από αυτήν;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: COM + 1.5 Distributed transaction problem (Sybase)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2566.aspx</link><pubDate>Wed, 08 Jun 2005 07:56:24 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2566</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2566.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=26&amp;PostID=2566</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;cap wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt; &lt;p&gt;Γιώργο, διόρθωσέ με σε όποιο σημείο δεν τα λέω καλά.&lt;/p&gt; &lt;p align="justify"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;&lt;font face="Georgia" size="2"&gt;Σωτήρη, καλά το ξεκίνησες, με τα transaction και πως κληρονομούνται, αλλά στο τέλος τα πράγματα θέλουν λίγο περισσότερη προσοχή.&lt;/font&gt;&lt;/p&gt; &lt;p align="justify"&gt;&lt;font face="Georgia" size="2"&gt;Αν ένα από τα child components, έχει κάνει .SetAbort αλλά δεν έχει σηκώσει ένα exception για καταλάβεις ότι το transaction δεν έχει νόημα να συνεχιστεί, πως θα το χειριστείς; Εσύ συνεχίζεις σαν να μην έγινε κάτι και θα αφήσεις τον transaction manager να τα κανόνισει όλα; Όχι πως δεν δουλεύει έτσι αλλά δεν και ο καλύτερος τρόπος.&lt;br /&gt;&lt;br /&gt;George J.&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: COM + 1.5 Distributed transaction problem (Sybase)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2563.aspx</link><pubDate>Wed, 08 Jun 2005 07:03:51 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2563</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2563.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=26&amp;PostID=2563</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;axaros wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt; &lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Παιδιά πραγματικά σας ευχαριστώ ...&lt;br /&gt;Μια άλλη ερώτηση :&lt;br /&gt;Στην περίπτωση μου αφού Read και το Update step αφορούν την μία εκ των δύο βάσεων χρειάζομαι όντως ξεχωριστό class και method?&lt;br /&gt;&lt;br /&gt;To Insert στη Sybase είναι ξεκάθαρο ότι θα υλοποιηθεί σε ξεχωριστό class με &lt;strong&gt;TransactionOption.Supported...&lt;/strong&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;&lt;font face="Georgia" size="2"&gt;Όχι, αλλά σίγουρα χρειάζεσαι διαφορετικά methods.&lt;br /&gt;&lt;br /&gt;George J.&lt;br /&gt;&lt;/font&gt;</description></item><item><title>Re: COM + 1.5 Distributed transaction problem (Sybase)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2533.aspx</link><pubDate>Tue, 07 Jun 2005 16:03:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2533</guid><dc:creator>axaros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2533.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=26&amp;PostID=2533</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Παιδιά πραγματικά σας ευχαριστώ ...&lt;br /&gt;Μια άλλη ερώτηση :&lt;br /&gt;Στην περίπτωση μου αφού Read και το Update step αφορούν την μία εκ των δύο βάσεων χρειάζομαι όντως ξεχωριστό class και method?&lt;br /&gt;&lt;br /&gt;To Insert στη Sybase είναι ξεκάθαρο ότι θα υλοποιηθεί σε ξεχωριστό class με &lt;strong&gt;TransactionOption.Supported...&lt;/strong&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: COM + 1.5 Distributed transaction problem (Sybase)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2529.aspx</link><pubDate>Tue, 07 Jun 2005 08:42:20 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2529</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2529.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=26&amp;PostID=2529</wfw:commentRss><description>&lt;p&gt;Να το πούμε πιό απλά (να δω αν κι εγώ το σκέφτομαι σωστά - δεν εχω τεράστια εμπειρία σε com+):&lt;br /&gt;&lt;br /&gt;Αν έχεις δύο components που κλήσεις σε αυτά θέλεις να συμμετέχουν στο ίδιο transaction τότε θα πρέπει μέσω ενός τρίτου component να πραγματοποιείς τις κλήσεις. Ας το ονομάσουμε &lt;strong&gt;"Πατρικό component".&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Αυτό θα πρέπει να έχει ένα από τα εξής:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;TransactionOption.RequiresNew &lt;br /&gt;&lt;/strong&gt;(αν είναι αυτό που θα ξεκινήσει την transaction) &lt;br /&gt;&lt;br /&gt;ή &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;TransactionOption.Required &lt;br /&gt;&lt;/strong&gt;(αν δεν είμαστε σίγουροι αν ξεκινάει αυτό ή κάποιο άλλο component που έχει ξεκινήσει transaction το καλεί - και ΘΕΛΟΥΜΕ να συμμετέχει στη συγκεκριμένη transaction)&amp;nbsp;&lt;br /&gt;&lt;br /&gt;ή &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;TransactionOption.Supported &lt;br /&gt;&lt;/strong&gt;(αν είμαστε σίγουροι οτι κάποιος άλλος ξεκινά το transaction - σε αυτή την περίπτωση βεβαια ισως και να μην μας χρειάζεται το επιπλέον component, αφού έχουμε ήδη άλλον που κάνει τη δουλειά).&lt;br /&gt;&lt;br /&gt;Ας πούμε λοιπόν οτι για το "πατρικό" χρησιμοποιούμε RequiresNew ή Required.&lt;br /&gt;&lt;br /&gt;Τα &lt;strong&gt;"απο κάτω",&lt;/strong&gt; δηλ. τα δύο components που θέλουμε να συμμετέχουν στο transaction καλούνται από το "πατρικό" (γίνονται δηλ. κλήσεις σε methods τους). Εδώ ισχύουν γενικά τα εξής: Το "πατρικό" έχει γνώση μόνο του αν κάτι πήγε στραβά ή δεν πήγε. Αν κάτι πήγε στραβά, γνέφει αντίο στο transaction και το κάνει abort. Αν όλα πάνε καλά, κάνει complete το transaction.&lt;br /&gt;&lt;br /&gt;Σημείωση: Δεν έχουμε πάει ακόμα στα "απο κατω". Για να γίνουν οι κλήσεις και να πετύχουν, έχουμε δύο τρόπους:&lt;br /&gt;&lt;br /&gt;1. Να έχουμε ενεργό το &lt;strong&gt;Autocomplete&lt;/strong&gt; attribute στο "πατρικό" component (στη μέθοδο που καλούμε και με τη σειρά της καλεί τα διάφορα των "απο κάτω"). Εδώ ένα exception που θα έρθει από τα "απο κάτω" αρκεί για να τελειώσει άδοξα η ζωή του transaction και να γίνει αυτό abort.&lt;br /&gt;&lt;br /&gt;2. Να κάνουμε με το χεράκι &lt;strong&gt;ContextUtil.SetComplete&lt;/strong&gt; (και &lt;strong&gt;contextUtil.SetAbort&lt;/strong&gt; φυσικά αν κάτι πάει στραβά). Εδώ έχουμε περισσότερο έλεγχο. Παλι πρέπει να πιάσουμε exceptions, πάλι πρέπει να κάνουμε ελέγχους. Απλά μπορούμε (δυνητικά) να αγνοήσουμε π.χ. ένα συγκεκριμένο exception και να σφυρίξουμε αδιάφορα κάνοντας setComplete.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Τωρα πάμε στα "απο κάτω":&lt;br /&gt;&lt;br /&gt;Τα "απο κάτω" πρέπει οπωσδήποτε να έχουν &lt;strong&gt;TransactionOption.Supported&lt;/strong&gt;. Αυτό γιατί ξέρουμε οτι ΔΕΝ πρόκειται να ξεκινήσουν μόνα τους αυτόνομα transactions αλλά θα συμμετέχουν στο context ενός transaction που θα ξεκινήσει από το "πατρικό". (Θα μπορούσε να γίνει πιό περίπλοκο και να έχουν Required, αλλα ας το αφήσουμε για τώρα - πιστεύω οτι μετά πρέπει να φτιάξουμε διαγράμματα).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Τι μας λέει αυτό: &lt;br /&gt;&lt;/strong&gt;Με &lt;strong&gt;RequiresNew &lt;/strong&gt;στο πατρικό και &lt;strong&gt;Supported &lt;/strong&gt;στα απο κάτω, η κλήση του πατρικού ξεκινάει ένα νέο transaction και "μπάζει" στο παιχνίδι και τα απο κάτω components, τα οποία συμμετέχουν σε αυτό.&lt;br /&gt;&lt;br /&gt;Τωρα για το αν θα έχουν autocomplete οι μέθοδοι που καλούνται στα "απο κάτω":&lt;br /&gt;Αν έχουν, ολα καλά. Με το που θα γίνει μια στραβή σε οποιοδήποτε από τα δύο, τρώει χυλόπιτα και το "πατρικό", μια και γίνεται αυτόματα setAbort το transaction του "απο κάτω" που έπαθε τη στραβή. Αρα, το "πατρικό" δεν μπορεί να ολοκληρώσει. &lt;br /&gt;&lt;br /&gt;Αν δεν έχουν, πάλι όλα καλά. Χειριζόμαστε εμείς την κατάσταση και κάνουμε με το χεράκι το setAbort μας σε περίπτωση σφάλματος. Ετσι, πάλι το "πατρικό" τρώει τη χυλόπιτα και δίνει διαζύγιο στο transaction.&lt;br /&gt;&lt;br /&gt;Η μόνη περίπτωση να μην παίξει το όλο "πάντρεμα" είναι πιστεύω το να βάλει κανείς TransactionOption.RequiresNew στα "απο κάτω". Ετσι γράφουν στα παλιά τους τα παπούτσια το transaction του "πατρικού" και ξεκινούν δικό τους. &lt;br /&gt;&lt;br /&gt;Γιώργο, διόρθωσέ με σε όποιο σημείο δεν τα λέω καλά.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: COM + 1.5 Distributed transaction problem (Sybase)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2527.aspx</link><pubDate>Tue, 07 Jun 2005 06:56:08 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2527</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2527.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=26&amp;PostID=2527</wfw:commentRss><description>&lt;p align="justify"&gt;&lt;font style="BACKGROUND-COLOR: #efefef" face="Georgia" size="2"&gt;Τσου! Όχι .&lt;strong&gt;EnableCommit&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Καταρχήν από ότι θυμάμαι, πρέπει να έχουμε ένα root component και δύο child components που θέλουμε να περάσουμε το νήμα-transaction του root μέσα από αυτά.&lt;br /&gt;&lt;br /&gt;Θα φτιαχτούν τρία classes για να κάνουν την δουλειά αυτή - σε class μπορείς να πεις να είναι requires new/requires και όχι σε method. Το πρώτο μπορεί να είναι αυτό που ξεκινάει το transaction και να κάνει τα reads από την βάση και να καλεί τα άλλα δύο για να κάνουν τα updates/inserts.&lt;br /&gt;&lt;br /&gt;Οι methods που θα καλούνται μπορεί να είναι AutoComplete ή όχι. Αν είναι AutoComplete θα θεωρήται .&lt;strong&gt;SetCommit&lt;/strong&gt; αν δεν γίνει λάθος&amp;nbsp;στην μέθοδο - στην αντίθετη περίπτωση γίνεται .&lt;strong&gt;SetAbort&lt;/strong&gt;. Όταν και οι δύο child γίνουν .&lt;strong&gt;SetComplete&lt;/strong&gt; και&amp;nbsp;το root γίνει .&lt;strong&gt;SetComplete&lt;/strong&gt;, &lt;u&gt;τότε και μόνο τότε&lt;/u&gt; θα γίνουν όλα commit.&lt;br /&gt;&lt;br /&gt;Το ίδιο θα γίνει και όταν είσαι σε manual. Θα κάνεις .&lt;strong&gt;SetComplete&lt;/strong&gt; τα δύο child και μετά το root και θα ολοκληρωθεί το transaction.&lt;br /&gt;&lt;br /&gt;Μπορείς να δεις και το σχετικό topic στο MSDN Library -&amp;nbsp;&lt;a target="_blank" title="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconVotingInAutomaticTransaction.asp" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconVotingInAutomaticTransaction.asp"&gt;Voting in an Automatic Transaction&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;George J.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/font&gt;</description></item></channel></rss>