39
Oracleデータベースでは、接続のコンテキストのみでトランザクションが開始されます。
ODP.NETでは、OracleConnectionオブジェクトに対してトランザクションを開始する(BeginTransaction
メソッド)ことのみで、これを行います。OracleCommandのTransactionプロパティは、読み取り専用であり、OracleCommandに使用される
接続によってのみ決まり、Transactionプロパティに対してトランザクション・オブジェクトを割り当てる必要 はありません。また、分散トランザクションは、System.EnterpriseServicesによってサポートされ、Oracle Services
for MTSが必要になります。
System.EnterpriseServicesについては、以下を参照してください。
http://www.microsoft.com/japan/msdn/library/ja/cpref/html/frlrfSystemEnterpriseServi ces.asp
参考
SQL Serverデータプロバイダでは、SqlDataAdapterを使用したトランザクションの実行のために、
SqlCommandのTransactionプロパティを設定します。
==================================================
Dim cn As New SqlConnection(strConn) Dim da As New SqlDataAdapter(strSQL, cn)
Dim txn As SqlTransaction = cn.BeginTransaction() da.UpdateCommand.Transaction = txn
da.InsertCommand.Transaction = txn da.DeleteCommand.Transaction = txn
==================================================
39
Copyright ©Oracle Corporation Japan, 2003. All rights reserved.
グローバリゼーション
‘===================================
‘ Visual Basic.NET Coding Sample
‘===================================
‘セッションにおけるグロバリゼーションを取得
Dim SessionGlob As OracleGlobalization = conn.GetSessionInfo()
‘日付書式を設定する
SessionGlob.Dateformat = “YYYY/MM/DD HH24:Mi:SS”
conn.SetSessionInfo(SessionGlob)
グローバリゼーションの設定に従って、日付、時刻、通貨、数 値、ソート順が適用されます
40
グローバリゼーションの設定個所は3つあります。1つがクライアント、1つがセッション、最後がスレッドです。
クライアント・グローバリゼーションは、WindowsのレジストリのNLS_LANGから導出され、OPD.NET内で は、その設定値は参照のみが可能です。
セッション・グローバリゼーションは、接続がオープンされたときに暗黙的に、クライアントのグロバリゼーショ ンの設定値が設定されます。
スライドのコードサンプルにように接続オブジェクトのSetSessionInfoメソッドにて再設定が可能です。
Copyright ©Oracle Corporation Japan, 2003. All rights reserved.
各データプロバイダの比較
DBで作成するトランザクション スキーマ テーブルの種類を返す RowUpdatedイベントのデータ提供 セキュリティ アクションをカスタム セキュ リティ属性に関連付け
セキュリティ レベルをユーザーに割当 パラメータの収集
パラメータ
InfoMessageイベントのデータ提供 グローバリゼーション設定 TAFイベントに対するデータを提供 DBからのエラーでスローされる例外 プロバイダのエラーを収集 DBからのエラーに関する情報を収集 .NET Frameworkのサポートを目的 DBからのデータストリームを読み取り DBとDataSet間のデータ転送 DBへの接続
DataSet への変更を調整する SQLコマンドやストアードプロシージャ
OracleTransaction OleDbTransaction
SqlTransaction
OleDbSchemaGuid
OraclelRowUpdatedEventArgs OleDbRowUpdatedEventArgs
SqlRowUpdatedEventArgs
OleDbClientPermissionAttribute SqlClientPermissionAttribute
OleDbClientPermission SqlClientPermission
OracleParameterCollection OleDbParameterCollection
SqlParameterCollection
OracleParameter OleDbParameter
SqlParameter
OracleinfoMessageEventargs OleDbinfoMessageEventargs
SqlinfoMessageEventargs
OracleGlobalization OracleFailoverEventArgs OracleException OleDbException
SqlException
OracleErrorCollection OleDbErrorCollection
SqlErrorCollection
OraclelError OleDbError
SqlError SqlDebugging
OracleDataReader OleDbDataReader
SqlDataReader
OracleDataAdapter OleDbDataAdapter
SqlDataAdapter
OracleConnection OleDbConnection
SqlConnection
OracleCommandBuilder OleDbCommandBuilder
SqlCommandBuilder
OracleCommand OleDbCommand
SqlCommand
Oracle.DataAccess System.Data.OleDb
System.Data.SqlClient
41
41
Copyright ©Oracle Corporation Japan, 2003. All rights reserved.