Forum Discussion

vlad230's avatar
vlad230
Contributor
12 years ago

[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


  • Hi Sergiu,


     


    I doubt about the DATE type. What default format is used in your DB? Most probably, you need to use ftDate instead of ftDateTime.


     

  • Hi Tanya,



    Sorry for the late reply, I didn't see your message.



    My DB date format is: 2013-06-18 20:38:59.



    So, what do you think I should replace ftDateTime with?



    Thanks,

    Sergiu

  • Hi Sergiu,


     


    It looks like ftDateTime is fine here.


     


    @Community, Is there anybody who can give us some clue what is wrong in this code?