Error en CommandBuilder

09/02/2005 - 13:59 por Carlos | Informe spam
Hola, tengo un problema que no podido solucionar en su
totalidad, he dejado vaios mensajes en varios foros y
listas de usuarios pero no he conseguido respuesta si
alguien puede ayudarme estaría muy agradecido.
El error en tiempo de ejecución es el siguiente:

System.InvalidOperationException: Dynamic SQL generation
for the UpdateCommand is not supported against a
SelectCommand that does not return any key column information.
at
System.Data.OracleClient.OracleCommandBuilder.BuildWhereClause(DataTableMapping
mappings, DataRow dataRow, StringBuilder builder,
IDbCommand command, Int32 parameterCount, Boolean isupdate)
at
System.Data.OracleClient.OracleCommandBuilder.BuildUpdateCommand(DataTableMapping
mappings, DataRow dataRow)
at
System.Data.OracleClient.OracleCommandBuilder.base_GetUpdateCommand()
at
System.Data.OracleClient.OracleCommandBuilder.GetUpdateCommand()


Lo que no entiendo es que en la tabla existe primary key y
cuando uso un Data Provider Demo de CoreLab no tengo ningun
problema. Alguien sabe porque no me funciona con el
Proveedor de Microsoft.

Mi codigo gatillador de error es el siguiente:


string strSQL = @"SELECT * FROM TABLA";
OracleDataAdapter da = new OracleDataAdapter(strSQL,
strConn);
OracleCommandBuilder cb = new OracleCommandBuilder(da);
Console.WriteLine(cb.GetInsertCommand().CommandText);
Console.WriteLine(cb.GetDeleteCommand().CommandText);
//ERROR DELETE
Console.WriteLine(cb.GetUpdateCommand().CommandText);
//ERROR UPDATE
 

Leer las respuestas

#1 ErickGB
11/02/2005 - 02:28 | Informe spam
He visto ese error cuando en la tabla NO EXISTE llave
primaria, estas seguro que tiene??

que tipo de datos es la llave primaria??

si no intenta con el ODP.NET de oracle

avisame como te fue!

Mostrar la cita
information.
Mostrar la cita
lause(DataTableMapping
Mostrar la cita
isupdate)
Mostrar la cita
Command(DataTableMapping
Mostrar la cita
ateCommand()
Mostrar la cita
mmand()
Mostrar la cita
y
Mostrar la cita
ningun
Mostrar la cita
TABLA";
Mostrar la cita
OracleDataAdapter(strSQL,
Mostrar la cita
OracleCommandBuilder(da);
Mostrar la cita
(cb.GetInsertCommand().CommandText);
Mostrar la cita
(cb.GetDeleteCommand().CommandText);
Mostrar la cita
(cb.GetUpdateCommand().CommandText);
Mostrar la cita

Preguntas similares