<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>OpenText Analytics Database 26.2.x – Creating and rolling back transactions</title>
    <link>/en/connecting-to/client-libraries/accessing/c/querying-db-using-ado-net/inserting-data-ado-net/creating-and-rolling-back-transactions/</link>
    <description>Recent content in Creating and rolling back transactions on OpenText Analytics Database 26.2.x</description>
    <generator>Hugo -- gohugo.io</generator>
    
	  <atom:link href="/en/connecting-to/client-libraries/accessing/c/querying-db-using-ado-net/inserting-data-ado-net/creating-and-rolling-back-transactions/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Connecting-To: Setting the transaction isolation level</title>
      <link>/en/connecting-to/client-libraries/accessing/c/querying-db-using-ado-net/inserting-data-ado-net/creating-and-rolling-back-transactions/setting-transaction-isolation-level/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/connecting-to/client-libraries/accessing/c/querying-db-using-ado-net/inserting-data-ado-net/creating-and-rolling-back-transactions/setting-transaction-isolation-level/</guid>
      <description>
        
        
        &lt;p&gt;You can set the transaction isolation level on a per-connection and per-transaction basis. See &lt;a class=&#34;glosslink&#34; href=&#34;../../../../../../../../en/glossary/transaction/&#34; title=&#34;One or more operations that are executed as a unit of work.&#34;&gt;Transaction&lt;/a&gt; for an overview of the transaction isolation levels supported in OpenText™ Analytics Database. To set the default transaction isolation level for a connection, use the &lt;em&gt;&lt;code&gt;IsolationLevel&lt;/code&gt;&lt;/em&gt; keyword in the VerticaConnectionStringBuilder string (see &lt;a href=&#34;../../../../../../../../en/connecting-to/client-libraries/accessing/c/connecting-to-db/ado-net-connection-properties/&#34;&gt;Connection String Keywords&lt;/a&gt; for details). To set the isolation level for an individual transaction, pass the isolation level to the &lt;code&gt;VerticaConnection.BeginTransaction()&lt;/code&gt; method call to start the transaction.&lt;/p&gt;
&lt;h2 id=&#34;to-set-the-isolation-level-on-a-connection-basis&#34;&gt;To set the isolation level on a connection-basis:&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Use the VerticaConnectionStringBuilder to build the connection string.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Provide a value for the IsolationLevel builder string. It can take one of two values: IsolationLevel.ReadCommited (default) or IsolationLevel.Serializeable. For example:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;    VerticaConnectionStringBuilder builder = new VerticaConnectionStringBuilder();
    builder.Host = &amp;#34;192.168.1.100&amp;#34;;
    builder.Database = &amp;#34;VMart&amp;#34;;
    builder.User = &amp;#34;dbadmin&amp;#34;;
    &lt;span class=&#34;code-input&#34;&gt;builder.IsolationLevel = System.Data.IsolationLevel.Serializeable&lt;/span&gt;
    VerticaConnection _conn1 = new VerticaConnection(builder.ToString());
    _conn1.Open();
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;to-set-the-isolation-level-on-a-transaction-basis&#34;&gt;To set the isolation level on a transaction basis:&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Set the IsolationLevel on the BeginTransaction method, for example&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;VerticaTransaction txn = _conn.BeginTransaction(IsolationLevel.Serializable);
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;example-usage&#34;&gt;Example usage:&lt;/h2&gt;
&lt;p&gt;The following example demonstrates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;getting the connection&#39;s transaction isolation level.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;setting the connection&#39;s isolation level using connection property.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;setting the transaction isolation level for a new transaction.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
Vertica.Data.VerticaClient;
namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            VerticaConnectionStringBuilder builder = new VerticaConnectionStringBuilder();
            builder.Host = &amp;#34;192.168.1.10&amp;#34;;
            builder.Database = &amp;#34;VMart&amp;#34;;
            builder.User = &amp;#34;dbadmin&amp;#34;;
            VerticaConnection _conn1 = new VerticaConnection(builder.ToString());
             _conn1.Open();
            VerticaTransaction txn1 = _conn1.BeginTransaction();
            Console.WriteLine(&amp;#34;\n Transaction 1 Transaction Isolation Level: &amp;#34; +
             txn1.IsolationLevel.ToString());
            txn1.Rollback();
            VerticaTransaction txn2 = _conn1.BeginTransaction(IsolationLevel.Serializable);
            Console.WriteLine(&amp;#34;\n Transaction 2 Transaction Isolation Level: &amp;#34; +
             txn2.IsolationLevel.ToString());
            txn2.Rollback();
            VerticaTransaction txn3 = _conn1.BeginTransaction(IsolationLevel.ReadCommitted);
            Console.WriteLine(&amp;#34;\n Transaction 3 Transaction Isolation Level: &amp;#34; +
             txn3.IsolationLevel.ToString());
            _conn1.Close();
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;When run, the example code prints the following to the system console:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt; Transaction 1 Transaction Isolation Level: ReadCommitted
 Transaction 2 Transaction Isolation Level: Serializable
 Transaction 3 Transaction Isolation Level: ReadCommitted
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
  </channel>
</rss>
