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

Preguntas similare

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!

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.BuildWhereC


lause(DataTableMapping
mappings, DataRow dataRow, StringBuilder builder,
IDbCommand command, Int32 parameterCount, Boolean


isupdate)
at
System.Data.OracleClient.OracleCommandBuilder.BuildUpdate


Command(DataTableMapping
mappings, DataRow dataRow)
at
System.Data.OracleClient.OracleCommandBuilder.base_GetUpd


ateCommand()
at
System.Data.OracleClient.OracleCommandBuilder.GetUpdateCo


mmand()


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

.

Respuesta Responder a este mensaje
#2 Anonimo
11/02/2005 - 19:37 | Informe spam
Hola,
La llave primaria existe tanto en la tabla como manualmente
en el dataSet. Y la llave es un integer de 6 dígitos.
Intente con un proveedor de datos demo y me funciono sin
problemas. Intente con el ODP. Net de oracle pero tuve
problemas de conexión, seguramente con la base de datos.
Por otro lado no seguí intentando con el ODP. Net pues
significaría un gran esfuerzo tener que instalarlo en todos
los PCs. La verdad es que me dí por vencido y escribí las
consultas. Es lamentable que una herramienta tan fuerte no
me haya servido. En todo caso no estoy ajeno a sugerencias
pues en el futuro tendré de igual forma que volver a
escribir código.

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!

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.BuildWhereC


lause(DataTableMapping
mappings, DataRow dataRow, StringBuilder builder,
IDbCommand command, Int32 parameterCount, Boolean


isupdate)
at
System.Data.OracleClient.OracleCommandBuilder.BuildUpdate


Command(DataTableMapping
mappings, DataRow dataRow)
at
System.Data.OracleClient.OracleCommandBuilder.base_GetUpd


ateCommand()
at
System.Data.OracleClient.OracleCommandBuilder.GetUpdateCo


mmand()


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

.



.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida