DOBON.NETプログラミング道掲示板

No34042 の記事


■34042 / )  oo4oのAddTableをADOに移行したい
□投稿者/ Yoshi 一般人(1回)-(2018/11/26(Mon) 16:40:20)
  • アイコン環境/言語:[VBA] 
    分類:[ASP.NET] 


    業務で使用しているExcelでOfficeの64bitに対応するため、oo4oからADOへの変更作業を行っています。
    Excelを利用しておりVBAで書かれています。

    Oracleのバージョンは11gです。

    AddTableを使いストアドプロシージャで配列として受け渡しをしているようなのですが
    ADOで渡すための方法がわからず、ご教示いただきたいと思っております。

    以下にoo4oで書かれたロジックを記載いたします。
    【VBA(oo4o)】
    OraDB.Parameters.AddTable "inAnimal", ORAPARM_INPUT, ORATYPE_VARCHAR2, Arraysize, 255
    Set inAnimal = OraDB.Parameters("inAnimal")

    'カウンタループ 'l'はカウンタ
    inAnimal(l) = AnimalSet(l)
    'Loop
    ExecuteSQL ("BEGIN PROCEDURE(:inAnimal)End;)

    【PROCEDURE】
    TYPE Array IS TABLE OF VARCHAR2(2000) INDEX BY BINARY_INTEGER;
    PROCEDURE (inAnimal IN Array)
    IS...

    少し考えて作ったADOのソースは以下になります。(うまく配列が渡せないため落ちます。)

    Set param = cmd.CreateParameter("inAnimal", adVarChar Or adArray, adParamInput, 255, AnimalSet)

    cmd.Parameters.Append param
    cmd.CommandText = "BEGIN PROCEDURE(:inAnimal); END;"
    cmd.Execute 


    間違っている箇所や方法をご存知の方いらっしゃいましたらよろしくお願いいたします。

違反を報告
返信 削除キー/


Mode/  Pass/


- Child Tree -