我给你一个例子,你的问题可能是VB.net有缺陷,我用C#就可以
CREATE OR REPLACE PACKAGE Personality
IS
    cursor c1 IS
        SELECT First_Name, Last_Name FROM People;
     TYPE PeopleCur IS REF CURSOR RETURN c1%rowtype;
     PROCEDURE GetNames
(
       pGender IN VARCHAR2,
       PeopleCursor in out PeopleCur
);
END Personality; 
CREATE OR REPLACE PACKAGE BODY Personality
AS
PROCEDURE GetNames
(
pGender IN VARCHAR2,
PeopleCursor in out Peoplecur
)
IS
begin
    OPEN PeopleCursor FOR
        SELECT First_Name, Last_Name FROM People WHERE gender = pGender;END GetNames;
END Personality;