English 中文(简体)
Set isolation w/o an ifxtransaction?
原标题:

I m trying to execute a simple select query using IfxCommand. I would like to set isolation to dirty read, but I have only found examples of setting isolation level in the context of an IfxTransaction. I do not require a transaction as I am only issuing a select statement. Below is my current code, is this the best approach? Also, if you know how long the isolation level stays set to dirty read I would like to know.

DataSet ds = new DataSet();
        IfxConnection connection = new IfxConnection(ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString);
        IfxCommand command = new IfxCommand();

        try
        {
            connection.Open();                
            command.Connection = connection;
            command.CommandText = "SET ISOLATION TO DIRTY READ";
            command.ExecuteNonQuery();

            command.CommandText = BuildCommandString();

            IfxDataAdapter idap = new IfxDataAdapter(command.CommandText, connection);
            idap.Fill(ds);
        }
最佳回答

Would

using (var noTransaction = new TransactionScope(TransactionScopeOption.Suppress)) {
  // Use your connection here
}

work? Not sure if Informix enlists itself in ambient transactions? Or - if you want to set the isolationlevel explicitly in a nested transaction:

var txOptions = new TransactionOptions();
txOptions.IsolationLevel = IsolationLevel.ReadUncommitted;
txOptions.Timeout.TotalSeconds * 2));
using (var noTransaction = new TransactionScope(TransactionScopeOption.RequiresNew, txOptions)) {
  // Use your connection here
}

Edit: Just read the comment that refered to Informix and TransactionScopes. You d have to change the code to reflect the solution there.

问题回答

暂无回答




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签