But when we connect in using Externally Managed method this same package produces the following error:
Failed in trying to run the package. ORA-06550: line 2, column 199:
PLS-00418: array bind type must match PL/SQL table row type
ORA-06550: line 2, column 3:
PL/SQL: Statement ignored
We believe the one parameter causing the problem is an array of decimal values. In VB.Net we are creating the array being passed in as:
Code: Select all
Dim aPcts() as Decimal
Code: Select all
Dim oParm As New OracleParameter()
With oParm
.ParameterName = "p_sku_percent"
.Direction = ParameterDirection.Input
.DbType = DbType.Double
.Value = aPcts
.ArrayLength = aPcts.GetLength(0)
End With
Code: Select all
TYPE percent_cc IS TABLE OF f21.ffct_offer_product_sku.sku_allocation_pct%TYPE
INDEX BY BINARY_INTEGER;
The Package Body has the parameter defined as:
Code: Select all
p_sku_percent f21.product_sku_mix_pkg.percent_cc
If anyone can provide any help I would appreciate it.
We are using the Devart.Data.Oracle.dll version 5.35.62.0
Thank you
If needed, here is the full package spec if needed for any more clarification: (The parameters 8, 9, & 10 are Arrays of Strings, the 11th is an array of Integers, and the last is an array of Decimals).
Code: Select all
CREATE OR REPLACE PACKAGE F21.product_sku_mix_pkg
IS
TYPE descriptor1_cc IS TABLE OF f21.ffct_offer_product_sku.descriptor1%TYPE
INDEX BY BINARY_INTEGER;
TYPE descriptor2_cc IS TABLE OF f21.ffct_offer_product_sku.descriptor2%TYPE
INDEX BY BINARY_INTEGER;
TYPE descriptor3_cc IS TABLE OF f21.ffct_offer_product_sku.descriptor2%TYPE
INDEX BY BINARY_INTEGER;
TYPE units_cc IS TABLE OF f21.ffct_offer_product_sku.units%TYPE
INDEX BY BINARY_INTEGER;
TYPE percent_cc IS TABLE OF f21.ffct_offer_product_sku.sku_allocation_pct%TYPE
INDEX BY BINARY_INTEGER;
PROCEDURE sku_mix (
p_co_id f21.ffct_offer_product_sku.company_id%TYPE,
p_div_id f21.ffct_offer_product_sku.division_id%TYPE,
p_offer_id f21.ffct_offer_product_sku.offer_id%TYPE,
p_offer_yr f21.ffct_offer_product_sku.offer_year%TYPE,
p_offer_product_id f21.ffct_offer_product_sku.offer_product_id%TYPE,
p_work_ver_no f21.ffct_offer_product_sku.version_no%TYPE,
p_product_units f21.ffct_offer_product_sku.units%TYPE,
p_descriptor1 f21.product_sku_mix_pkg.descriptor1_cc,
p_descriptor2 f21.product_sku_mix_pkg.descriptor2_cc,
p_descriptor3 f21.product_sku_mix_pkg.descriptor3_cc,
p_sku_units f21.product_sku_mix_pkg.units_cc,
p_sku_percent f21.product_sku_mix_pkg.percent_cc
);
END product_sku_mix_pkg;