type のパラメータを持つストアド プロシージャを呼び出したいと思います。Windows C++ アプリケーションで (11g1)
を使用してこれを行うにはどうすればよいですか?TABLE
OCCI
ストアド プロシージャの定義は次のとおりです。
FUNCTION am_send(
p_caFnr IN VARCHAR2,
p_TabBgr IN DSKS_BGR_TAB,
p_caTextout OUT VARCHAR2)
RETURN NUMBER;
および使用されるタイプ:
create or replace
TYPE DSKS_BGR_TAB,
AS TABLE OF DSKS_BGR
create or replace
TYPE DSKS_BGR
(BgrNr VARCHAR2(3),
TrId VARCHAR2(8))
私がこれまでに行ったこと:
DSKS_BGR
OTT ユーティリティを使用して型のオブジェクト表現を作成しました。
これまでの私のコード:
Environment* env = Environment::createEnvironment(Environment::OBJECT);
try
{
Connection *con = env->createConnection("xxxxx", "xxxxx", "xxxxx");
Statement* statement = con->createStatement("BEGIN :1 := am_send(:2, :3, :4); END;");
statement->registerOutParam(1, OCCINUMBER);
statement->setString(2, "Test");
// ?? DSKS_BGR_TAB
statement->registerOutParam(4, OCCISTRING, 1000);
statement->execute();
int result = statement->getNumber(1);
string textOut = statement->getString(4);
env->terminateConnection(con);
}
catch(const SQLException &exc)
{
cout << exc.getErrorCode() << exc.getMessage();
}
Environment::terminateEnvironment(env);
TABLE
パラメータの設定方法がわかりません。