ORA-01036: numero/nombre de variable no valido

Iohan OP
12 de Enero del 2009
Hola

Estoy desarrollando una aplicacion que carga y descarga informacion a una DB Oracle, pero tengo un problema al insertar datos, el error que aparece es:
"ORA-01036: numero/nombre de variable no valido" La sentencia SQL que le envio aparece bien y los parametros corresponden con las tablas de la DB. Estoy usando un objeto IDbDataAdapter para manejar la conexion, para poder conectarme tambien con SQL server. Esto es parte del codigo:

// Arreglo con los parametros para la sentencia
object[] paramsarr = {txtLogin.Text, txtPassword.Text, txtFirstName.Text, txtLastName.Text };

// Arma la sentencia con los parametros del arreglo y los asigna al DataAdapter
ProviderAdapter.SetParametersValues( ref sqlda, paramsarr, this.myconfig.PROVIDERTYPE, SqlCommandType.INSERT );

/// La linea anterior ejecuta lo siguiente:
da.InsertCommand.CommandText = "INSERT INTO OPERATORS(LOGIN, PASSWORDX, FIRSTNAME, LASTNAME) VALUES (@LOGIN, @PASSWORD, @FIRSTNAME, @LASTNAME)";

da.InsertCommand.Parameters.Add(new System.Data.OracleClient.OracleParameter("@LOGIN", System.Data.OracleClient.OracleType.VarChar, 8, "LOGIN"));

da.InsertCommand.Parameters.Add(new System.Data.OracleClient.OracleParameter("@PASSWORD", System.Data.OracleClient.OracleType.VarChar, 8, "PASSWORDX"));

da.InsertCommand.Parameters.Add(new System.Data.OracleClient.OracleParameter("@FIRSTNAME", System.Data.OracleClient.OracleType.VarChar, 50, "FIRSTNAME"));

da.InsertCommand.Parameters.Add(new System.Data.OracleClient.OracleParameter("@LASTNAME", System.Data.OracleClient.OracleType.VarChar, 50, "LASTNAME"));

// Ejecuta el comando
numrows = sqlda.InsertCommand.ExecuteNonQuery();


Al hacer el Execute, se revienta la aplicacion y aparece el ORA-01036....

Si alguien tiene alguna idea de que es lo que me esta sucediendo y como resolverlo, me ayudarian mucho.

Gracias

Dan?
12 de Enero del 2009
Utiliza el carácter ":" en lugar de "@"

Wicaroze
12 de Enero del 2009
Para las variables de parametro no coloques @ ni : solamente la variable parametro.