Home > C# > PostgreSQL > Npgsqlドキュメント(2014年7月25日・13改訂版)

System.Transactionsサポート

作成日 2015.03.06
最終更新日 2015.03.06

概要

PostgreSQLデータベース・サーバのための、.NET データ・プロバイダNpgsqlのドキュメント(2014年7月25日・13改訂版)の和訳です。 旧版ドキュメント(外部サイト) の和訳は存在しましたが、現行版のドキュメントのものは見つからなかったので和訳しました。 PostgreSQLとC#の両方を学ぶための資料集めの一環としての作成しています。

原文

npgsqlマニュアル(2014年7月25日・13改訂版)(外部サイト)

公式ページのドキュメントです。英語で書かれています。

注意

このドキュメントは、過去のNpgsqlのバージョンのドキュメントです。より新しいドキュメントの「トランザクション Npgsql」もご覧ください。

System.Transactionsサポート

System.Transactions Support

Josh Cooleyに感謝します。Npgsqlは、System.Transactionsのための最初のサポートを追加しました。このコードは、今でもきわめて初期の段階です。 それで、あなたが、それに関するどんな問題でも持っている場合、私たちに知らせてください。それで、私たちは、できるだけ早くそれを修正することができます。

それを使用するために、あなたは、接続文字列の中に、次のように配置する必要があります。:


			Enlist=true
			

falseは、現在省略時設定です。しかし、一旦、System.Transactionsサポートが安定する場合、 私たちは、おそらくenlist=trueを省略時設定にするでしょう。

ここに、System.Transactionsサポートを使用するサンプルコードがあります。:


using System;
using System.Data;
using Npgsql;
using System.Transactions;

public class TransactionExample
{

    public static void Main(String[] args)
    {

            string connectionString = "Server=127.0.0.1;User id=npgsql_tests;password=npgsql_tests;Enlist=true";
            using (TransactionScope tx = new TransactionScope())
            {
                using (NpgsqlConnection connection = new
NpgsqlConnection(connectionString))
                {
                    connection.Open();
                    using (NpgsqlCommand command = new
NpgsqlCommand("insert into tablea (cola) values ('b')", connection))
                    {
                        command.ExecuteNonQuery();
                    }
                    using (NpgsqlConnection connection2 = new
NpgsqlConnection(connectionString))
                    {
                        connection2.Open();
                        using (NpgsqlCommand command = new
NpgsqlCommand("insert into tablea (colb) values ('c')", connection2))
                        {
                            command.ExecuteNonQuery();
                        }
                    }
                }
                tx.Complete();
            }
    }
}
			
このエントリーをはてなブックマークに追加

Home PC C# Illustration

Copyright (C) 2011 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」