Jeg tror, du forsøger at flette en Array Bind {simply binding an array to a param to have it eksekveret flere gange -- sådan gjorde eksemplet i det link, du angav, det} med en Associative Array {re:PLSQLAssociativeArray med en INPUT-param af TABLE OF}.
Da du ikke postede din pakke/proc, som du kører, antager jeg, at du gør noget som dette (bare at lægge dette ned for at validere antagelsen)
procedure insertdata(P_JOB_TITLE IN VARCHAR2) as
begin
insert into myTable(x) value (P_JOB_TITLE);
end insertdata;
For at udføre dette som forfatteren af artiklen skal du bruge ArrayBindCount ( tjek dette link, det har også et eksempel) .Dette indikerer også, at hvis du har flere parametre, vil det forvente en ARRAY for hver enkelt.
Nu for at få dette udført for alle de P_JOB_TITLE(), som du sender ind
//this was missing in your example and MUST be there to tell ODP how many array elements to expect
cmd.ArrayBindCount = 2;
string[] jobTitleArray = {"name1", "name1"};
OracleParameter paramNames= new OracleParameter("P_JOB_TITLE", OracleDbType.Varchar2);
//paramNames.CollectionType = OracleCollectionType.PLSQLAssociativeArray;/*once again, you are passing in an array of values to be executed and not a pl-sql table*/
//paramNames.Size = 2; /* this is unnecessary since it is for a plsql-associative array*/
paramNames.Value = jobTitleArray ;
cmd.Parameters.Add(paramNames);
For et eksempel på plSQLAssociativeArray, se eksemplerne, der blev leveret, da du installerede ODP @ %ORA_HOME%\odp.net\samples\2.x\AssocArray
og for eksempler på arraybinding (som fra det link, du angav)@ %ORA_HOME%\odp.net\samples\2.x\ArrayBind