none
Como saber en que modo estoy usando ADO.NET ? RRS feed

  • Pregunta

  • como dice la pregunta, llevo dias con esa Duda, desconozco si estoy usando ADO.NET en modo conectado o en desconectado, estoy trabajando con Oracle y Visual Basic he encontrado varios ejemplos en internet pero por lo que he leido todos estan en Modo desconectado y lastimosamente no me sirven ya que necesito usarlo en modo conectado con transacciones
    domingo, 26 de mayo de 2013 2:11

Respuestas

  • Un ejemplo de transacción con Oracle...

    Public Sub RunOracleTransaction(ByVal connectionString As String)
        Using connection As New OracleConnection(connectionString)
            connection.Open()
    
            Dim command As OracleCommand = connection.CreateCommand()
            Dim transaction As OracleTransaction
    
            ' Start a local transaction
            transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted)
            ' Assign transaction object for a pending local transaction
            command.Transaction = transaction
    
            Try
                command.CommandText = _
                    "INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')"
                command.ExecuteNonQuery()
                command.CommandText = _
                    "INSERT INTO Dept (DeptNo, Dname, Loc) values (60, 'ENGINEERING', 'KANSAS CITY')"
                command.ExecuteNonQuery()
                transaction.Commit()
                Console.WriteLine("Both records are written to database.")
            Catch e As Exception
                transaction.Rollback()
                Console.WriteLine(e.ToString())
                Console.WriteLine("Neither record was written to database.")
            End Try
        End Using
    End Sub
    


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    lunes, 27 de mayo de 2013 18:51

Todas las respuestas

  • Si necesitas transacciones entone es debes estar en modo Conectado ya que es necesario manejar la transacción mientras tienes abierta una conexión a la bbdd.


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    lunes, 27 de mayo de 2013 18:48
  • Un ejemplo de transacción con Oracle...

    Public Sub RunOracleTransaction(ByVal connectionString As String)
        Using connection As New OracleConnection(connectionString)
            connection.Open()
    
            Dim command As OracleCommand = connection.CreateCommand()
            Dim transaction As OracleTransaction
    
            ' Start a local transaction
            transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted)
            ' Assign transaction object for a pending local transaction
            command.Transaction = transaction
    
            Try
                command.CommandText = _
                    "INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')"
                command.ExecuteNonQuery()
                command.CommandText = _
                    "INSERT INTO Dept (DeptNo, Dname, Loc) values (60, 'ENGINEERING', 'KANSAS CITY')"
                command.ExecuteNonQuery()
                transaction.Commit()
                Console.WriteLine("Both records are written to database.")
            Catch e As Exception
                transaction.Rollback()
                Console.WriteLine(e.ToString())
                Console.WriteLine("Neither record was written to database.")
            End Try
        End Using
    End Sub
    


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    lunes, 27 de mayo de 2013 18:51
  • Entiendo que lo de estar en modo conectado o desconectado depende intrínsecamente de los objetos que utilices al acceder a la base de datos.

    El modo desconectado está asociado a las clases DataSet, DataAdapter y DataTable fundamentalmente y otras más concretas, como DataTable, DataColumn, etc.

    El modo desconectado es muy útil porque es muy escalable, pero impensable en sistemas donde se exige una respuesta inmediata, como una aplicación Web.

    El modo conectado utiliza, por ejemplo, la clase DataReader, que es muy liviana, aunque sólo para lectura. Otras clases como Connection y Command son independientes del modo conectado y desconectado ya que sirven para conectarse a una fuente de datos, la primera, y ordenar sentencias SQL la segunda. Esta última (Command) es la que podrías utilizar para el modo conectado.

    No sé si era exactamente esa tu duda.

    Un saludo.

    viernes, 22 de noviembre de 2013 9:50