|
Yo tuve problemas con el control transaccional con
OLE DB y estoy en V5R2, al final opt� por ODBC, con el que tambi�n tuve
problemas al principio porque lo utilizaba junto a las DTS de Microsoft SQL
Server, te aconsejo dos cosas:
- Comprobar que las tablas est�n registradas por
diario (como ya te ha comentado alg�n forero)
- Aplicar la �ltima SP para iSeries Access
(SI09809), esto me resolvi� un problema que ten�a.
Saludos.
DIEGO CAMACHO MORENO-GUER�N
Sent: Wednesday, March 03, 2004 5:20
PM
Subject: OLEDB en .NEt y demas FIESTAS
........
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.
|