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 Offline
    V Offline
    Vipin d
    wrote on last edited by
    #1

    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 A V 3 Replies 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

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

      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 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

        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