Alguien esta usando OLEDB para conectarse al AS400.  Os cuento,  estamos accediendo
por OLEDB con .NET a la base de datos correctamente. Pero el problema lo tenemos con
las transacciones que no las esta ejecutando o deshaciendo tanto en el ROLLBACK como
con el COMMIT.

No se si el problema esta en la conexi�n  o con alg�n par�metro que no tenemos definido
correctamente el  As400 (tenemos  v5.2).

Las cadenas de conexi�n son -->

PRIMERA
cn.ConnectionString="Provider=IBMDA400;Autocommit=0;Data Source=RECORDDE.recordrentacar.net;User id=PERE;Password=elpere;";

SEGUNDO
cn.ConnectionString="Provider=IBMDA400.DataSource.1;Persist Security Info=False;User ID=PERE;Password=elpere;Data Source=RECORDDE;Protection Level=None;Extended Properties='';Initial Catalog=RECORDDE;Transport Product=Client Access;SSL=DEFAULT;Force Translate=65535;Default Collection=PERE;Convert Date Time To Char=TRUE;Catalog Library List=RECFSQL;Cursor Sensitivity=3";


Si os sirve tb de referencia este es un ejemplo TRANSACCI�N


private void Button1_Click(object sender, System.EventArgs e)
                {
                        //iniciamos la conexion
                        cn.ConnectionString="Provider=IBMDA400;Autocommit=0;Data                                                                           Source=RECORDDE.recordrentacar.net;User id=PERE;Password=elpere;";                
                        cn.Open();
                        //Creamos transaccion y comando
                        System.Data.OleDb.OleDbCommand cmd = new OleDbCommand();
                        System.Data.OleDb.OleDbTransaction transaccion;
                        //iniciamos la transaccion
                        transaccion = cn.BeginTransaction();
                        try
                        {
                                string strSQL = "INSERT INTO RECFSQL.AUT_SIS" +
                                        "(SISTEMA_ID, SISTEMA) " +
                                        " VALUES ('"+TextBox1.Text+"','prueba')";
           
                                //Asignamos Conexion, SQL y transaccion
                                cmd.Connection = cn;
                                cmd.CommandText = strSQL;
                                cmd.Transaction = transaccion;
                                //Realizamos la inserci�n
                                int kk = (int)cmd.ExecuteNonQuery();

                                throw new Exception();

                                //finalizamos la transaccion
                                transaccion.Commit();
                        }
                        catch (Exception err)
                        {
                                Response.Write("ERROR-->" + err.Message);
                                transaccion.Rollback();

                                Response.Write("<BR> ha ejectuado el ROLLBACK");
                        }
                        cn.Close();
                }
        }


Gracias  NET.


=======================================================
 La originalidad no esta en el "HECHO", esta en la"SOLUCI�N"
=======================================================
  .~.
 /V\   L   I   N   U   X
// \\ >Phear the Penguin<
/(   )\
^^-^^
Pon un Pinguino en TU VIDA.COM
Pere Soria
Dpto. de Inform�tica
Telf.    +34 964343008
E-mail: [EMAIL PROTECTED]
http://www.recordrentacar.com
Record Rent a Car S.A.

Responder a