This funtcion used to work in version 5.25. It stopped working after I upgarded to 5.70 recently.
It seems to fail sync
Code: Select all
create or replace package ArrayTest is
type TArray is TABLE OF VARCHAR(50) INDEX BY BINARY_INTEGER;
PROCEDURE TestPassArray(pArray IN TArray, pCount OUT INTEGER);
end ArrayTest;
create or replace package body ArrayTest IS
PROCEDURE TestPassArray(pArray IN TArray, pCount OUT INTEGER) is
begin
pCount := pArray.count;
end;
end ArrayTest;
Code: Select all
public void TestArray()
{
OracleConnection conn = new OracleConnection("your connection");
conn.Open();
OracleCommand cmd = conn.CreateCommand();
cmd.Parameters.Clear();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.CommandText = "ArrayTest.TestPassArray";
cmd.ParameterCheck = true;
cmd.Prepare();
string[] array = new string[3]{"0", "1", "2"};
cmd.Parameters[0].Value = array;
cmd.ExecuteNonQuery();
Assert.AreEqual(3, cmd.Parameters[1].Value, "Incorrect item count.");
cmd.Dispose();
conn.Close();
}