Este ser�a el proceso que implementa las clases anteriores
Imports
System.enterpriseservicesPublic
Class Form1 Inherits System.Windows.Forms.FormPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim c As New COMdesdeNE.clsTrans1() ' -- clase anterior
c.EjecutaTransaccion( _
"insert into region (regionid,regiondescription) values (38,'regioncualquiera')", _
"insert into region (regionid,regiondescription) values (40,'regionotra')")
End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End SubEnd
Class[EMAIL PROTECTED] wrote:
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.
| ��� Antivirus �
Filtros antispam � 6 MB gratis ��� �Todav�a no tienes un correo inteligente? |
