Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/11/2006, 07:19
Avatar de RsOfT
RsOfT
 
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 3 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--