vlad230
12 years agoContributor
[TC 9.2] ADO CreateADOStoredProc() issues
Hi guys!
I'm having some issues with CreateADOStoredProc() method using an Oracle 10g database and JScript.
The stored procedure header is:
PROCEDURE "TEST_PROC" (a number, b nvarchar2, c IN OUT number, d IN NVARCHAR2, e IN NUMBER, f IN nvarchar2, g OUT NUMBER, h OUT NOCOPY NVARCHAR2, i OUT NUMBER, j OUT NUMBER, k OUT DATE, l OUT DATE)
This is what I have until now:
var sproc = ADO.CreateADOStoredProc();
sproc.ConnectionString = connectionString...;
sproc.ProcedureName = 'dbo.TEST_PROC';
sproc.CommandTimeout = 5;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(0).Name = "a";
sproc.Parameters.Items(0).DataType = ftInteger;
sproc.Parameters.Items(0).Direction = adParamInput;
sproc.Parameters.Items(0).Size = 10;
sproc.Parameters.Items(0).Value = 5374;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(1).Name = "b";
sproc.Parameters.Items(1).DataType = ftString;
sproc.Parameters.Items(1).Direction = adParamInput;
sproc.Parameters.Items(1).Size = 50;
sproc.Parameters.Items(1).Value = 'abc10';
sproc.Parameters.AddParameter();
sproc.Parameters.Items(2).Name = "c";
sproc.Parameters.Items(2).DataType = ftInteger;
sproc.Parameters.Items(2).Direction = adParamInputOutput;
//sproc.Parameters.Items(2).Size = 32;
sproc.Parameters.Items(2).Value = 1;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(3).Name = "d";
sproc.Parameters.Items(3).DataType = ftString;
sproc.Parameters.Items(3).Direction = adParamInput;
//sproc.Parameters.Items(3).Size = 32;
sproc.Parameters.Items(3).Value = '';
sproc.Parameters.AddParameter();
sproc.Parameters.Items(4).Name = "e";
sproc.Parameters.Items(4).DataType = ftInteger;
sproc.Parameters.Items(4).Direction = adParamInput;
//sproc.Parameters.Items(4).Size = 32;
sproc.Parameters.Items(4).Value = 4;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(5).Name = "f";
sproc.Parameters.Items(5).DataType = ftString;
sproc.Parameters.Items(5).Direction = adParamInput;
//sproc.Parameters.Items(5).Size = 32;
sproc.Parameters.Items(5).Value = '';
sproc.Parameters.AddParameter();
sproc.Parameters.Items(6).Name = "g";
sproc.Parameters.Items(6).DataType = ftFloat;
sproc.Parameters.Items(6).Direction = adParamOutput;
sproc.Parameters.Items(6).Value = null;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(7).Name = "h";
sproc.Parameters.Items(7).DataType = ftString;
sproc.Parameters.Items(7).Direction = adParamOutput;
//sproc.Parameters.Items(7).Size = 255;
sproc.Parameters.Items(7).Value = null;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(8).Name = "i";
sproc.Parameters.Items(8).DataType = ftFloat;
sproc.Parameters.Items(8).Direction = adParamOutput;
sproc.Parameters.Items(8).Value = null;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(9).Name = "j";
sproc.Parameters.Items(9).DataType = ftFloat;
sproc.Parameters.Items(9).Direction = adParamOutput;
sproc.Parameters.Items(9).Value = null;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(10).Name = "k";
sproc.Parameters.Items(10).DataType = ftDateTime;
sproc.Parameters.Items(10).Direction = adParamOutput;
sproc.Parameters.Items(10).Value = null;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(11).Name = "l";
sproc.Parameters.Items(11).DataType = ftDateTime;
sproc.Parameters.Items(11).Direction = adParamOutput;
sproc.Parameters.Items(11).Value = null;
sproc.ExecProc();
Log.Message(sproc.Parameters.Items(6).Value);
The issues is that the script return a JScript runtime error saying:
Parameter object is improperly defined. Inconsistent or incomplete information was provided @ line: sproc.ExecProc();
And I have no ideea why is this being displayed or what causes this.
Can anybody help?
Thanks,
Vlad
I'm having some issues with CreateADOStoredProc() method using an Oracle 10g database and JScript.
The stored procedure header is:
PROCEDURE "TEST_PROC" (a number, b nvarchar2, c IN OUT number, d IN NVARCHAR2, e IN NUMBER, f IN nvarchar2, g OUT NUMBER, h OUT NOCOPY NVARCHAR2, i OUT NUMBER, j OUT NUMBER, k OUT DATE, l OUT DATE)
This is what I have until now:
var sproc = ADO.CreateADOStoredProc();
sproc.ConnectionString = connectionString...;
sproc.ProcedureName = 'dbo.TEST_PROC';
sproc.CommandTimeout = 5;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(0).Name = "a";
sproc.Parameters.Items(0).DataType = ftInteger;
sproc.Parameters.Items(0).Direction = adParamInput;
sproc.Parameters.Items(0).Size = 10;
sproc.Parameters.Items(0).Value = 5374;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(1).Name = "b";
sproc.Parameters.Items(1).DataType = ftString;
sproc.Parameters.Items(1).Direction = adParamInput;
sproc.Parameters.Items(1).Size = 50;
sproc.Parameters.Items(1).Value = 'abc10';
sproc.Parameters.AddParameter();
sproc.Parameters.Items(2).Name = "c";
sproc.Parameters.Items(2).DataType = ftInteger;
sproc.Parameters.Items(2).Direction = adParamInputOutput;
//sproc.Parameters.Items(2).Size = 32;
sproc.Parameters.Items(2).Value = 1;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(3).Name = "d";
sproc.Parameters.Items(3).DataType = ftString;
sproc.Parameters.Items(3).Direction = adParamInput;
//sproc.Parameters.Items(3).Size = 32;
sproc.Parameters.Items(3).Value = '';
sproc.Parameters.AddParameter();
sproc.Parameters.Items(4).Name = "e";
sproc.Parameters.Items(4).DataType = ftInteger;
sproc.Parameters.Items(4).Direction = adParamInput;
//sproc.Parameters.Items(4).Size = 32;
sproc.Parameters.Items(4).Value = 4;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(5).Name = "f";
sproc.Parameters.Items(5).DataType = ftString;
sproc.Parameters.Items(5).Direction = adParamInput;
//sproc.Parameters.Items(5).Size = 32;
sproc.Parameters.Items(5).Value = '';
sproc.Parameters.AddParameter();
sproc.Parameters.Items(6).Name = "g";
sproc.Parameters.Items(6).DataType = ftFloat;
sproc.Parameters.Items(6).Direction = adParamOutput;
sproc.Parameters.Items(6).Value = null;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(7).Name = "h";
sproc.Parameters.Items(7).DataType = ftString;
sproc.Parameters.Items(7).Direction = adParamOutput;
//sproc.Parameters.Items(7).Size = 255;
sproc.Parameters.Items(7).Value = null;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(8).Name = "i";
sproc.Parameters.Items(8).DataType = ftFloat;
sproc.Parameters.Items(8).Direction = adParamOutput;
sproc.Parameters.Items(8).Value = null;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(9).Name = "j";
sproc.Parameters.Items(9).DataType = ftFloat;
sproc.Parameters.Items(9).Direction = adParamOutput;
sproc.Parameters.Items(9).Value = null;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(10).Name = "k";
sproc.Parameters.Items(10).DataType = ftDateTime;
sproc.Parameters.Items(10).Direction = adParamOutput;
sproc.Parameters.Items(10).Value = null;
sproc.Parameters.AddParameter();
sproc.Parameters.Items(11).Name = "l";
sproc.Parameters.Items(11).DataType = ftDateTime;
sproc.Parameters.Items(11).Direction = adParamOutput;
sproc.Parameters.Items(11).Value = null;
sproc.ExecProc();
Log.Message(sproc.Parameters.Items(6).Value);
The issues is that the script return a JScript runtime error saying:
Parameter object is improperly defined. Inconsistent or incomplete information was provided @ line: sproc.ExecProc();
And I have no ideea why is this being displayed or what causes this.
Can anybody help?
Thanks,
Vlad