Error al llamar procedure de Oracle desde VB
Publicado por José L. (1 intervención) el 19/05/2005 15:55:53
Hola,
tengo el código siguiente para llamar a un procedure de oracle:
Dim rst As ADODB.Recordset
Dim sql As String
msConectar
Set oCmd = New ADODB.Command
oCmd.Parameters.Append oCmd.CreateParameter("idref", adUnsignedBigInt, adParamInput, , idref)
oCmd.Parameters.Append oCmd.CreateParameter("idTar", adUnsignedBigInt, adParamInput, , idTarifa)
oCmd.Parameters.Append oCmd.CreateParameter("idCli", adUnsignedBigInt, adParamInput, , idCliente)
oCmd.Parameters.Append oCmd.CreateParameter("MayorCargoSiNo", adBoolean, adParamInput, , MayorCargoSiNo)
oCmd.Parameters.Append oCmd.CreateParameter("DtoCliente", adDouble, adParamInputOutput, , DtoCliente)
oCmd.Parameters.Append oCmd.CreateParameter("tipoCalculoTarArt", adBoolean, adParamInput, , tipoCalculoTarArt)
oCmd.Parameters.Append oCmd.CreateParameter("precioTiendaCompra", adDouble, adParamInputOutput, , precioTiendaCompra)
oCmd.Parameters.Append oCmd.CreateParameter("PrecioTienda", adDouble, adParamInputOutput, , precioTiendas)
oCmd.Parameters.Append oCmd.CreateParameter("precioCesion", adDouble, adParamInputOutput, , precioCesion)
oCmd.Parameters.Append oCmd.CreateParameter("precioCliav", adDouble, adParamInputOutput, , precioCliav)
oCmd.Parameters.Append oCmd.CreateParameter("precioTieav", adDouble, adParamInputOutput, , precioTieav)
oCmd.Parameters.Append oCmd.CreateParameter("precioCli2", adDouble, adParamInputOutput, , precioCli2)
oCmd.Parameters.Append oCmd.CreateParameter("precioCli1", adDouble, adParamInputOutput, , precioCli1)
oCmd.Parameters.Append oCmd.CreateParameter("cantped", adInteger, adParamInput, , cantped)
oCmd.Parameters.Append oCmd.CreateParameter("PrecioCompra", adDouble, adParamInputOutput, , precioCompra)
oCmd.Parameters.Append oCmd.CreateParameter("DtoVentas", adDouble, adParamInputOutput, , DtoVentas)
oCmd.Parameters.Append oCmd.CreateParameter("ModUds", adInteger, adParamInputOutput, , ModUds)
oCmd.CommandText = "ICONICDC.pack_calculoPrecio.calculoPrecio"
Set rst = New ADODB.Recordset
oCmd.CommandType = adCmdStoredProc
oCmd.ActiveConnection = oCon
Set rst = oCmd.execute
Pero al hacer el 'execute', me da el error siguiente:
"Microsoft ODBC for Oracle Controlador no compatible"
¿Alguien sabe como solucionar este problema?
Grácias.
tengo el código siguiente para llamar a un procedure de oracle:
Dim rst As ADODB.Recordset
Dim sql As String
msConectar
Set oCmd = New ADODB.Command
oCmd.Parameters.Append oCmd.CreateParameter("idref", adUnsignedBigInt, adParamInput, , idref)
oCmd.Parameters.Append oCmd.CreateParameter("idTar", adUnsignedBigInt, adParamInput, , idTarifa)
oCmd.Parameters.Append oCmd.CreateParameter("idCli", adUnsignedBigInt, adParamInput, , idCliente)
oCmd.Parameters.Append oCmd.CreateParameter("MayorCargoSiNo", adBoolean, adParamInput, , MayorCargoSiNo)
oCmd.Parameters.Append oCmd.CreateParameter("DtoCliente", adDouble, adParamInputOutput, , DtoCliente)
oCmd.Parameters.Append oCmd.CreateParameter("tipoCalculoTarArt", adBoolean, adParamInput, , tipoCalculoTarArt)
oCmd.Parameters.Append oCmd.CreateParameter("precioTiendaCompra", adDouble, adParamInputOutput, , precioTiendaCompra)
oCmd.Parameters.Append oCmd.CreateParameter("PrecioTienda", adDouble, adParamInputOutput, , precioTiendas)
oCmd.Parameters.Append oCmd.CreateParameter("precioCesion", adDouble, adParamInputOutput, , precioCesion)
oCmd.Parameters.Append oCmd.CreateParameter("precioCliav", adDouble, adParamInputOutput, , precioCliav)
oCmd.Parameters.Append oCmd.CreateParameter("precioTieav", adDouble, adParamInputOutput, , precioTieav)
oCmd.Parameters.Append oCmd.CreateParameter("precioCli2", adDouble, adParamInputOutput, , precioCli2)
oCmd.Parameters.Append oCmd.CreateParameter("precioCli1", adDouble, adParamInputOutput, , precioCli1)
oCmd.Parameters.Append oCmd.CreateParameter("cantped", adInteger, adParamInput, , cantped)
oCmd.Parameters.Append oCmd.CreateParameter("PrecioCompra", adDouble, adParamInputOutput, , precioCompra)
oCmd.Parameters.Append oCmd.CreateParameter("DtoVentas", adDouble, adParamInputOutput, , DtoVentas)
oCmd.Parameters.Append oCmd.CreateParameter("ModUds", adInteger, adParamInputOutput, , ModUds)
oCmd.CommandText = "ICONICDC.pack_calculoPrecio.calculoPrecio"
Set rst = New ADODB.Recordset
oCmd.CommandType = adCmdStoredProc
oCmd.ActiveConnection = oCon
Set rst = oCmd.execute
Pero al hacer el 'execute', me da el error siguiente:
"Microsoft ODBC for Oracle Controlador no compatible"
¿Alguien sabe como solucionar este problema?
Grácias.
Valora esta pregunta


0