Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. SqlTransaction object

SqlTransaction object

Scheduled Pinned Locked Moved C#
question
14 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Vipin d

    hi, Is it posible to use two diferent connection string in a SqlTransaction object?? Be very grateful for any advice.

    They laugh at me; they think I’m different. I laugh at them, ‘coz they are all same!!
    CrazySanker

    A Offline
    A Offline
    Andrei Ungureanu
    wrote on last edited by
    #3

    Why do you need 2 connection strings? What is the purpose..changing the database while the transaction is open?

    I will use Google before asking dumb questions

    V 1 Reply Last reply
    0
    • A Adeel Chaudhry

      Hi, I dont think it is possible to use two connection strings(CSs) at the same time!! But you should be able to use two different CSs 1 after the other. Like use CS-1 perform something in transaction close CS-1, then open CS-2 and use it with the same transaction object! That may be possible. Regards, Adeel

      V Offline
      V Offline
      Vipin d
      wrote on last edited by
      #4

      Thank you very much for your reply..:) using (SqlConnection connection = DbConnection("SerConstr")) { using (SqlCommand command = connection.CreateCommand()) { SqlTransaction transaction = null; try { connection.Open(); transaction = connection.BeginTransaction(); command.Transaction = transaction; // i need to perform this in con1 command.CommandText = "Insert ..."; command.ExecuteNonQuery(); // Execute i need to perform this in con2 command.CommandText = "Update..."; command.ExecuteNonQuery(); transaction.Commit(); } catch { transaction.Rollback(); throw; } finally { connection.Close(); } how I ll do this??

      They laugh at me; they think I’m different. I laugh at them, ‘coz they are all same!!
      CrazySanker

      A A 2 Replies Last reply
      0
      • V Vipin d

        Thank you very much for your reply..:) using (SqlConnection connection = DbConnection("SerConstr")) { using (SqlCommand command = connection.CreateCommand()) { SqlTransaction transaction = null; try { connection.Open(); transaction = connection.BeginTransaction(); command.Transaction = transaction; // i need to perform this in con1 command.CommandText = "Insert ..."; command.ExecuteNonQuery(); // Execute i need to perform this in con2 command.CommandText = "Update..."; command.ExecuteNonQuery(); transaction.Commit(); } catch { transaction.Rollback(); throw; } finally { connection.Close(); } how I ll do this??

        They laugh at me; they think I’m different. I laugh at them, ‘coz they are all same!!
        CrazySanker

        A Offline
        A Offline
        Andrei Ungureanu
        wrote on last edited by
        #5

        Vipin.d wrote:

        // i need to perform this in con1 command.CommandText = "Insert ..."; command.ExecuteNonQuery(); // Execute i need to perform this in con2 command.CommandText = "Update..."; command.ExecuteNonQuery();

        The insert and update queries refer to the same database, within the same server?

        I will use Google before asking dumb questions

        V 1 Reply Last reply
        0
        • A Andrei Ungureanu

          Why do you need 2 connection strings? What is the purpose..changing the database while the transaction is open?

          I will use Google before asking dumb questions

          V Offline
          V Offline
          Vipin d
          wrote on last edited by
          #6

          Dear friend, my rquiremnt is like 1. SELECT some data from servr1.db1.Tbl1 2. INSERT that to server2.db2.Tbl1. 3. UPDATE the status filed of selected data in servr1.db1.Tbl1 If either step 2 or 3 fail I need to Roll back that transaction. any advice please..

          They laugh at me; they think I’m different. I laugh at them, ‘coz they are all same!!
          CrazySanker

          A 1 Reply Last reply
          0
          • V Vipin d

            Thank you very much for your reply..:) using (SqlConnection connection = DbConnection("SerConstr")) { using (SqlCommand command = connection.CreateCommand()) { SqlTransaction transaction = null; try { connection.Open(); transaction = connection.BeginTransaction(); command.Transaction = transaction; // i need to perform this in con1 command.CommandText = "Insert ..."; command.ExecuteNonQuery(); // Execute i need to perform this in con2 command.CommandText = "Update..."; command.ExecuteNonQuery(); transaction.Commit(); } catch { transaction.Rollback(); throw; } finally { connection.Close(); } how I ll do this??

            They laugh at me; they think I’m different. I laugh at them, ‘coz they are all same!!
            CrazySanker

            A Offline
            A Offline
            Adeel Chaudhry
            wrote on last edited by
            #7

            Can you please elaborate "Insert..." & "Update..." bit more? :) Like for what purpose you need to have two CSs? Do you want to change the database? If yes, why not do it as an intermediate SQL statement between insert & update?

            V 1 Reply Last reply
            0
            • A Andrei Ungureanu

              Vipin.d wrote:

              // i need to perform this in con1 command.CommandText = "Insert ..."; command.ExecuteNonQuery(); // Execute i need to perform this in con2 command.CommandText = "Update..."; command.ExecuteNonQuery();

              The insert and update queries refer to the same database, within the same server?

              I will use Google before asking dumb questions

              V Offline
              V Offline
              Vipin d
              wrote on last edited by
              #8

              yes i know that , my requirement is I need to change the connection string before doing UPDATE process.is it have any solution??

              They laugh at me; they think I’m different. I laugh at them, ‘coz they are all same!!
              CrazySanker

              1 Reply Last reply
              0
              • A Adeel Chaudhry

                Can you please elaborate "Insert..." & "Update..." bit more? :) Like for what purpose you need to have two CSs? Do you want to change the database? If yes, why not do it as an intermediate SQL statement between insert & update?

                V Offline
                V Offline
                Vipin d
                wrote on last edited by
                #9

                Dear friend, my rquiremnt is like 1. SELECT some data from servr1.db1.Tbl1 2. INSERT that to server2.db2.Tbl1. 3. UPDATE the status filed of selected data in servr1.db1.Tbl1 If either step 2 or 3 fail I need to Roll back that transaction. any advice please.. Let me check intermediate SQL statement in my Google Uncle:)

                They laugh at me; they think I’m different. I laugh at them, ‘coz they are all same!!
                CrazySanker

                A 1 Reply Last reply
                0
                • V Vipin d

                  Dear friend, my rquiremnt is like 1. SELECT some data from servr1.db1.Tbl1 2. INSERT that to server2.db2.Tbl1. 3. UPDATE the status filed of selected data in servr1.db1.Tbl1 If either step 2 or 3 fail I need to Roll back that transaction. any advice please.. Let me check intermediate SQL statement in my Google Uncle:)

                  They laugh at me; they think I’m different. I laugh at them, ‘coz they are all same!!
                  CrazySanker

                  A Offline
                  A Offline
                  Adeel Chaudhry
                  wrote on last edited by
                  #10

                  First, allow me to clear this, I used "intermediate" as an english word, not as technical word. :) Theoretically, it should be like that connect with server1 select if it was a success connect with server2 insert if it was a success disconnect with server2 update if not success rollback disconnect with server1 Surely, you will need to have 2 connection objects, given this is not a live server with few hundereds transactions goin on. Hope that helps! Adeel

                  V 1 Reply Last reply
                  0
                  • A Adeel Chaudhry

                    First, allow me to clear this, I used "intermediate" as an english word, not as technical word. :) Theoretically, it should be like that connect with server1 select if it was a success connect with server2 insert if it was a success disconnect with server2 update if not success rollback disconnect with server1 Surely, you will need to have 2 connection objects, given this is not a live server with few hundereds transactions goin on. Hope that helps! Adeel

                    V Offline
                    V Offline
                    Vipin d
                    wrote on last edited by
                    #11

                    :doh: ohh!!I already started searching the term intermediate sql :cool: thank you for your reply..:-D

                    They laugh at me; they think I’m different. I laugh at them, ‘coz they are all same!!
                    CrazySanker

                    1 Reply Last reply
                    0
                    • V Vipin d

                      Dear friend, my rquiremnt is like 1. SELECT some data from servr1.db1.Tbl1 2. INSERT that to server2.db2.Tbl1. 3. UPDATE the status filed of selected data in servr1.db1.Tbl1 If either step 2 or 3 fail I need to Roll back that transaction. any advice please..

                      They laugh at me; they think I’m different. I laugh at them, ‘coz they are all same!!
                      CrazySanker

                      A Offline
                      A Offline
                      Andrei Ungureanu
                      wrote on last edited by
                      #12

                      The ConnectionString property can be set only when the connection is closed. (from MSDN) and when you close a query, the pending transactions are rolledback. So...my suggestion is to use at least 2 connections

                      using (SqlConnection conn = new SqlConnection())
                      {
                      //set the first cs
                      string cs1 = "connection string 1";
                      conn.ConnectionString = cs1;

                      conn.Open();

                      SqlTransaction trans = conn.BeginTransaction();

                      //do the the select query

                      if (InsertSecondDB())
                      {
                      //update first DB
                      trans.Commit();
                      }
                      else
                      {
                      trans.Rollback();
                      }

                      conn.Close();
                      }

                      The InsertSecondDB should create a new connection and a new transaction to the second DataBase and return true if the query succeeded or false otherwise. Hope it helps.

                      I will use Google before asking dumb questions

                      V 1 Reply Last reply
                      0
                      • A Andrei Ungureanu

                        The ConnectionString property can be set only when the connection is closed. (from MSDN) and when you close a query, the pending transactions are rolledback. So...my suggestion is to use at least 2 connections

                        using (SqlConnection conn = new SqlConnection())
                        {
                        //set the first cs
                        string cs1 = "connection string 1";
                        conn.ConnectionString = cs1;

                        conn.Open();

                        SqlTransaction trans = conn.BeginTransaction();

                        //do the the select query

                        if (InsertSecondDB())
                        {
                        //update first DB
                        trans.Commit();
                        }
                        else
                        {
                        trans.Rollback();
                        }

                        conn.Close();
                        }

                        The InsertSecondDB should create a new connection and a new transaction to the second DataBase and return true if the query succeeded or false otherwise. Hope it helps.

                        I will use Google before asking dumb questions

                        V Offline
                        V Offline
                        Vipin d
                        wrote on last edited by
                        #13

                        defenitely it clicked some ideas in my mind.. Thank you soo much!!

                        They laugh at me; they think I’m different. I laugh at them, ‘coz they are all same!!
                        CrazySanker

                        1 Reply Last reply
                        0
                        • V Vipin d

                          hi, Is it posible to use two diferent connection string in a SqlTransaction object?? Be very grateful for any advice.

                          They laugh at me; they think I’m different. I laugh at them, ‘coz they are all same!!
                          CrazySanker

                          V Offline
                          V Offline
                          Vipin d
                          wrote on last edited by
                          #14

                          Dear friends, During my g0ole search i got this Distributed Transaction ^]

                          They laugh at me; they think I’m different. I laugh at them, ‘coz they are all same!!
                          CrazySanker

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • World
                          • Users
                          • Groups