Foros del Web » Programando para Internet » ASPX (.net) »

Utilizar "Parameters" conectándome a ORACLE

Estas en el tema de Utilizar "Parameters" conectándome a ORACLE en el foro de ASPX (.net) en Foros del Web. Estoy utilizando "Parameters" en mis sentencias de SQL para realizar operaciones en la base de datos. Cuando trabajo con SQL Server me funciona perfecto, pero ...
  #1 (permalink)  
Antiguo 07/11/2006, 07:19
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Utilizar "Parameters" conectándome a ORACLE

Estoy utilizando "Parameters" en mis sentencias de SQL para realizar operaciones en la base de datos. Cuando trabajo con SQL Server me funciona perfecto, pero cuando trabajo con ORACLE me da el siguiente error: "ORA-01036: illegal variable name/number".
Supuse que es porque las variables en ORACLE no se declaran con @, pero les quité la @ y aún así sigue sin funcionar.

El código que utilizo es el siguiente:
Código:
Dim Parametros(4) As Data.OracleClient.OracleParameter : Dim intContador As Int16 = 0

Parametros(intContador) = New Data.OracleClient.OracleParameter
Parametros(intContador).ParameterName = "@MANDT"
Parametros(intContador).DbType = Data.DbType.String
Parametros(intContador).Value = _strMANDT

intContador += 1S
Parametros(intContador) = New Data.OracleClient.OracleParameter
Parametros(intContador).ParameterName = "@Ruta"
Parametros(intContador).DbType = Data.DbType.String
Parametros(intContador).Value = _strRuta

intContador += 1S
Parametros(intContador) = New Data.OracleClient.OracleParameter
Parametros(intContador).ParameterName = "@Fecha"
Parametros(intContador).DbType = Data.DbType.String
Parametros(intContador).Value = _strFecha

intContador += 1S
Parametros(intContador) = New Data.OracleClient.OracleParameter
Parametros(intContador).ParameterName = "@Proveedor_ID"
Parametros(intContador).DbType = Data.DbType.String
Parametros(intContador).Value = _decProveedorID

intContador += 1S
Parametros(intContador) = New Data.OracleClient.OracleParameter
Parametros(intContador).ParameterName = "@No_Factura"
Parametros(intContador).DbType = Data.DbType.String
Parametros(intContador).Value = _decNoFactura

strSQL = "INSERT INTO SAPR3.ZDatos_PV_CxP (MANDT,Ruta,Fecha,Proveedor_ID,No_Factura) VALUES (@MANDT,@Ruta,@Fecha,@Proveedor_ID,@No_Factura)"

daDataAdapter2 = New Data.OracleClient.OracleDataAdapter
daDataAdapter2.InsertCommand = New Data.OracleClient.OracleCommand(strSQL, cnnOracle)

daDataAdapter2.InsertCommand.Parameters.Clear()
For i As Integer = 0 To Parametros.Length - 1
	daDataAdapter2.InsertCommand.Parameters.Add(Parametros(i))
Next

If cnnOracle.State = Data.ConnectionState.Closed Then cnnOracle.Open()
daDataAdapter2.InsertCommand.ExecuteNonQuery()
If cnnOracle.State = Data.ConnectionState.Open Then cnnOracle.Close()
¿Alguna idea de que estoy haciendo mal?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #2 (permalink)  
Antiguo 07/11/2006, 13:49
Avatar de rodri  
Fecha de Ingreso: febrero-2005
Mensajes: 406
Antigüedad: 19 años, 3 meses
Puntos: 2
utiliza
Código:
:parametro
en vez de la arroba
Código:
@
ve esto puede ser de utilidad
http://www.oracle.com/technology/pub...ingdotnet.html

saludos
__________________
0.o Rodri
  #3 (permalink)  
Antiguo 07/11/2006, 14:09
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Al utilizar los : me da el error diferente que es: "ORA-01008: not all variables bound".

¿Qué significa este error?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #4 (permalink)  
Antiguo 07/11/2006, 14:17
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Ya me di cuenta lo que era.

Lo que pasó fue que en la nueva prueba que hice utilizando los : se me olvidó pasar le los "parameters", jeje

Gracias!!, funciona perfectamente.
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #5 (permalink)  
Antiguo 14/04/2008, 15:16
 
Fecha de Ingreso: abril-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Utilizar "Parameters" conectándome a ORACLE

Hola,
Yo tengo el mismo error, solo que aplicando Los ":".
SELECT *
FROM tabla1
WHERE (activity_number = :valor)

Si en lugar de ":valor" pongo "?" me lo toma, pero en el reporte tarda mucho y a veces, en reportes más largos no me trae la info completa. El "?" lo usaba cuando la base estaba en Sybase. Ahora estoy convirtiendo las querys a Oracle.

Gracias!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:25.