473,569 Members | 2,489 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Calling a store procedure using C#

I was wondering if someone can help me out. I'm getting the following
error:

Message: ORA-06550: line 1, column 7: PLS-00306: wrong number or types
of arguments in call to 'GET_RIGHTS2' ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'GET_RIGHTS2'
ORA-06550: line 1, column 7: PLS-00306: wrong number or types of
arguments in call to 'GET_RIGHTS2' ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'GET_RIGHTS2'
ORA-06550: line 1, column 7: PLS-00306: wrong number or types of
arguments in call to 'GET_RIGHTS2' ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'GET_RIGHTS2'
ORA-06550: line 1, column 7: PL/SQL: Statement ignored
Here is the stored procedure

CREATE OR REPLACE package admin_package
AS

TYPE CHAR_ARRAY IS TABLE OF VARCHAR2(50) INDEX BY BINARY_INTEGER;

TYPE GRP_IDTABLETYPE IS TABLE OF SEC_GRP.GRP_ID% TYPE
INDEX BY BINARY_INTEGER;
TYPE BRANCHTABLETYPE IS TABLE OF SEC_CONSOLD.CON SOLIDATED_BRANC H_CODE
%TYPE
INDEX BY BINARY_INTEGER;
TYPE PRODUCERTABLETY PE IS TABLE OF
SEC_CONSOLD.CON SOLIDATED_PRODU CER_CODE%TYPE
INDEX BY BINARY_INTEGER;
TYPE SUBPRODUCERTABL ETYPE IS TABLE OF
SEC_CONSOLD.CON SOLIDATED_SUBPR ODUCER_CODE%TYP E
INDEX BY BINARY_INTEGER;
TYPE READINDTABLETYP E IS TABLE OF SEC_GRP_RIGHTS. READ_IND%TYPE
INDEX BY BINARY_INTEGER;
TYPE WRITEINDTABLETY PE IS TABLE OF SEC_GRP_RIGHTS. WRITE_IND%TYPE
INDEX BY BINARY_INTEGER;
TYPE LEVELINDTABLETY PE IS TABLE OF SEC_GRP_RIGHTS. LEVEL_IND%TYPE
INDEX BY BINARY_INTEGER;
TYPE GRP_NAMETABLETY PE IS TABLE OF SEC_GRP.GRP_NAM E%TYPE
INDEX BY BINARY_INTEGER;

PROCEDURE GET_RIGHTS2 (SGRPID IN SEC_GRP.GRP_ID% TYPE,
SCONSOLDBRANCH OUT BRANCHTABLETYPE ,
SCONSOLDPRODUCE R OUT PRODUCERTABLETY PE,
SCONSOLDSUBPROD UCER OUT SUBPRODUCERTABL ETYPE,
SREADIND OUT READINDTABLETYP E,
SWRITEIND OUT WRITEINDTABLETY PE,
SLEVELIND OUT LEVELINDTABLETY PE)
IS
iIndex BINARY_INTEGER := 0;
CURSOR GRCUR (SGRPID IN SEC_GRP.GRP_ID% TYPE) IS
SELECT CONSOLIDATED_BR ANCH_CODE, CONSOLIDATED_PR ODUCER_CODE,
CONSOLIDATED_SU BPRODUCER_CODE, READ_IND, WRITE_IND, LEVEL_IND
FROM SEC_GRP_RIGHTS
Where GRP_ID = SGRPID ;
BEGIN
FOR GetRec IN GRCUR(SGRPID)
LOOP
iIndex := iIndex + 1;
SCONSOLDBRANCH( iIndex) := GetRec.CONSOLID ATED_BRANCH_COD E;
SCONSOLDPRODUCE R(iIndex) := GetRec.CONSOLID ATED_PRODUCER_C ODE;
SCONSOLDSUBPROD UCER(iIndex) :=
GetRec.CONSOLID ATED_SUBPRODUCE R_CODE;
SREADIND(iIndex ) := GetRec.READ_IND ;
SWRITEIND(iInde x) := GetRec.WRITE_IN D;
SLEVELIND(iInde x) := GetRec.LEVEL_IN D;
END LOOP;
END GET_RIGHTS2;
END;
/

and here is the C# code

OracleCommand myCMD1 = new OracleCommand() ;
myCMD1.Connecti on = Oraclecon1;
myCMD1.CommandT ext = "SECURITY_PROC. ADMIN_PACKAGE.G ET_RIGHTS2";
myCMD1.CommandT ype = CommandType.Sto redProcedure;
OracleParameter param1 = myCMD1.Paramete rs.Add("SGRPID" , null);
OracleParameter param2 = myCMD1.Paramete rs.Add("SCONSOL DBRANCH",
null);
OracleParameter param3 = myCMD1.Paramete rs.Add("SCONSOL DPRODUCER",
null);
OracleParameter param4 =
myCMD1.Paramete rs.Add("SCONSOL DSUBPRODUCER", null);
OracleParameter param5 = myCMD1.Paramete rs.Add("SREADIN D", null);
OracleParameter param6 = myCMD1.Paramete rs.Add("SWRITEI ND", null);
OracleParameter param7 = myCMD1.Paramete rs.Add("SLEVELI ND", null);

param1.Directio n = ParameterDirect ion.Input;
param2.Directio n = ParameterDirect ion.Output;
param3.Directio n = ParameterDirect ion.Output;
param4.Directio n = ParameterDirect ion.Output;
param5.Directio n = ParameterDirect ion.Output;
param6.Directio n = ParameterDirect ion.Output;
param7.Directio n = ParameterDirect ion.Output;

param1.Value = strGrpId;
param1.Size = 8000;
param2.Size = 8000;
param3.Size = 8000;
param4.Size = 8000;
param5.Size = 8000;
param6.Size = 8000;
param7.Size = 8000;

try
{
Oraclecon1.Open ();
OracleDataReade r myReader = myCMD1.ExecuteR eader();
int x;
int count;
count = 0;
while (myReader.Read( ))
{
for (x = 0; x <= myReader.FieldC ount - 1; x++)
Response.Write( myReader.GetVal ue(x));
Console.WriteLi ne();
count += 1;

}
//OracleDataAdapt er da = new OracleDataAdapt er(myCMD);
//da.Fill(ds);
//DG_ShowUserInfo .DataSource = ds;
//DG_ShowUserInfo .DataBind();

}
catch (OracleExceptio n ex)
{
string errorMessage = "Code: " + ex.Code + "<br>" +
"Message: " + ex.Message;

Response.Write( errorMessage);
}
Oraclecon1.Clos e();

Feb 9 '07 #1
1 4824
This looks like an Oracle error. I'd try posting this to an Oracle
newsgroup.

Robin S.
Ts'i mahnu uterna ot twan ot geifur hingts uto.
-----------------------------------------------
"C#_Beginne r" <c0*****@allsta te.comwrote in message
news:11******** *************@a 75g2000cwd.goog legroups.com...
>I was wondering if someone can help me out. I'm getting the following
error:

Message: ORA-06550: line 1, column 7: PLS-00306: wrong number or types
of arguments in call to 'GET_RIGHTS2' ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'GET_RIGHTS2'
ORA-06550: line 1, column 7: PLS-00306: wrong number or types of
arguments in call to 'GET_RIGHTS2' ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'GET_RIGHTS2'
ORA-06550: line 1, column 7: PLS-00306: wrong number or types of
arguments in call to 'GET_RIGHTS2' ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'GET_RIGHTS2'
ORA-06550: line 1, column 7: PL/SQL: Statement ignored
Here is the stored procedure

CREATE OR REPLACE package admin_package
AS

TYPE CHAR_ARRAY IS TABLE OF VARCHAR2(50) INDEX BY BINARY_INTEGER;

TYPE GRP_IDTABLETYPE IS TABLE OF SEC_GRP.GRP_ID% TYPE
INDEX BY BINARY_INTEGER;
TYPE BRANCHTABLETYPE IS TABLE OF SEC_CONSOLD.CON SOLIDATED_BRANC H_CODE
%TYPE
INDEX BY BINARY_INTEGER;
TYPE PRODUCERTABLETY PE IS TABLE OF
SEC_CONSOLD.CON SOLIDATED_PRODU CER_CODE%TYPE
INDEX BY BINARY_INTEGER;
TYPE SUBPRODUCERTABL ETYPE IS TABLE OF
SEC_CONSOLD.CON SOLIDATED_SUBPR ODUCER_CODE%TYP E
INDEX BY BINARY_INTEGER;
TYPE READINDTABLETYP E IS TABLE OF SEC_GRP_RIGHTS. READ_IND%TYPE
INDEX BY BINARY_INTEGER;
TYPE WRITEINDTABLETY PE IS TABLE OF SEC_GRP_RIGHTS. WRITE_IND%TYPE
INDEX BY BINARY_INTEGER;
TYPE LEVELINDTABLETY PE IS TABLE OF SEC_GRP_RIGHTS. LEVEL_IND%TYPE
INDEX BY BINARY_INTEGER;
TYPE GRP_NAMETABLETY PE IS TABLE OF SEC_GRP.GRP_NAM E%TYPE
INDEX BY BINARY_INTEGER;

PROCEDURE GET_RIGHTS2 (SGRPID IN SEC_GRP.GRP_ID% TYPE,
SCONSOLDBRANCH OUT BRANCHTABLETYPE ,
SCONSOLDPRODUCE R OUT PRODUCERTABLETY PE,
SCONSOLDSUBPROD UCER OUT SUBPRODUCERTABL ETYPE,
SREADIND OUT READINDTABLETYP E,
SWRITEIND OUT WRITEINDTABLETY PE,
SLEVELIND OUT LEVELINDTABLETY PE)
IS
iIndex BINARY_INTEGER := 0;
CURSOR GRCUR (SGRPID IN SEC_GRP.GRP_ID% TYPE) IS
SELECT CONSOLIDATED_BR ANCH_CODE, CONSOLIDATED_PR ODUCER_CODE,
CONSOLIDATED_SU BPRODUCER_CODE, READ_IND, WRITE_IND, LEVEL_IND
FROM SEC_GRP_RIGHTS
Where GRP_ID = SGRPID ;
BEGIN
FOR GetRec IN GRCUR(SGRPID)
LOOP
iIndex := iIndex + 1;
SCONSOLDBRANCH( iIndex) := GetRec.CONSOLID ATED_BRANCH_COD E;
SCONSOLDPRODUCE R(iIndex) := GetRec.CONSOLID ATED_PRODUCER_C ODE;
SCONSOLDSUBPROD UCER(iIndex) :=
GetRec.CONSOLID ATED_SUBPRODUCE R_CODE;
SREADIND(iIndex ) := GetRec.READ_IND ;
SWRITEIND(iInde x) := GetRec.WRITE_IN D;
SLEVELIND(iInde x) := GetRec.LEVEL_IN D;
END LOOP;
END GET_RIGHTS2;
END;
/

and here is the C# code

OracleCommand myCMD1 = new OracleCommand() ;
myCMD1.Connecti on = Oraclecon1;
myCMD1.CommandT ext = "SECURITY_PROC. ADMIN_PACKAGE.G ET_RIGHTS2";
myCMD1.CommandT ype = CommandType.Sto redProcedure;
OracleParameter param1 = myCMD1.Paramete rs.Add("SGRPID" , null);
OracleParameter param2 = myCMD1.Paramete rs.Add("SCONSOL DBRANCH",
null);
OracleParameter param3 = myCMD1.Paramete rs.Add("SCONSOL DPRODUCER",
null);
OracleParameter param4 =
myCMD1.Paramete rs.Add("SCONSOL DSUBPRODUCER", null);
OracleParameter param5 = myCMD1.Paramete rs.Add("SREADIN D", null);
OracleParameter param6 = myCMD1.Paramete rs.Add("SWRITEI ND", null);
OracleParameter param7 = myCMD1.Paramete rs.Add("SLEVELI ND", null);

param1.Directio n = ParameterDirect ion.Input;
param2.Directio n = ParameterDirect ion.Output;
param3.Directio n = ParameterDirect ion.Output;
param4.Directio n = ParameterDirect ion.Output;
param5.Directio n = ParameterDirect ion.Output;
param6.Directio n = ParameterDirect ion.Output;
param7.Directio n = ParameterDirect ion.Output;

param1.Value = strGrpId;
param1.Size = 8000;
param2.Size = 8000;
param3.Size = 8000;
param4.Size = 8000;
param5.Size = 8000;
param6.Size = 8000;
param7.Size = 8000;

try
{
Oraclecon1.Open ();
OracleDataReade r myReader = myCMD1.ExecuteR eader();
int x;
int count;
count = 0;
while (myReader.Read( ))
{
for (x = 0; x <= myReader.FieldC ount - 1; x++)
Response.Write( myReader.GetVal ue(x));
Console.WriteLi ne();
count += 1;

}
//OracleDataAdapt er da = new OracleDataAdapt er(myCMD);
//da.Fill(ds);
//DG_ShowUserInfo .DataSource = ds;
//DG_ShowUserInfo .DataBind();

}
catch (OracleExceptio n ex)
{
string errorMessage = "Code: " + ex.Code + "<br>" +
"Message: " + ex.Message;

Response.Write( errorMessage);
}
Oraclecon1.Clos e();

Feb 10 '07 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
3618
by: vhvoun | last post by:
Hi, I've encountered this problem as below: I tried to called Oracle Store Procedure from VBS and it failed. The VBS is scheduled using NT Task Scheduler in Win 2000 environment using local system admin account.
2
4025
by: Jin | last post by:
Hello: I run one process that calls the following the store procedure and works fine. create PROCEDURE sp_GetHostSequenceNum AS BEGIN SELECT int_parameter_dbf + 1
30
2248
by: Tim Marshall | last post by:
Here's the scenario, A2003, Jet back end, illustrated with some cut down code at the end of the post: A proc dims a snapshot recordset (dim rst as Dao.recordset) and opens it. There are several nested do loops, going through the records in rst using .movenext. At one point in one of the loops, we'll say the rst is at record "a". Now,...
1
6124
by: Hugo Lefevre | last post by:
Dear, I have a problem : I have a database which contains my data of hardware. The Id is a varchar and I want at my filling form that my user know which is the last one. So I made a store procedure in SQL Server with a input parameter (to select the right hardware e.g. PC for a computer, CD for cdrom, etc) and the last code would I have...
2
1434
by: singlal | last post by:
Hi, my question was not getting any attention because it moved to 2nd page; so posting it again. Sorry for any inconvenience but I need to get it resolved fast. Need your help! **************************************************************************************************** Original Question: -------------------- Has anyone called a...
5
2240
by: Stephen Plotnick | last post by:
I'm very new to VB.NET, or any VB. I need to have form1 call form2 which calls form3, etc. I am able to use oledb in form1 to get the data. I build all the data for form2 and form3 from form1 I can call form2 from form1 without any probles, all the data is there. I can change to call to form2 to form3 and all the data is there and I...
5
26224
by: Alan T | last post by:
Currently our SQL Server 2000 database table field is using char to store as boolean, ie. "T" or "F". Now we change the field from char to bit field. I am not sure how it has impact on the C# code. For example, the stored procedure returns SELECT * FROM employee There is a field "ismale", "T" is male, "F" is female.
11
4353
by: c676228 | last post by:
Hi everyone, I am just wodering in asp program, if there is anybody writing store procedure for inserting data into database since there are so many parameters need to be passed into store procedure(assume there are many columns in the table). I need to insert data into two separate tables, the relation between these two tables is 1 row of...
10
3241
by: sulekhasweety | last post by:
Hi, the following is the definition for calling convention ,which I have seen in a text book, can anyone give a more detailed explanation in terms of ANSI - C "the requirements that a programming system places on how a procedure is called and how data is passed between a calling program and procedures are called calling conventions"
0
7618
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
7926
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
0
8132
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
0
6286
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
0
5222
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3656
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
1
2116
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
1
1226
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
944
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.