掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DTSパッケージ実行時の終了手順は? (ID:56854)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になっております。 Visual C++ 6.0からDTSパッケージを実行するプログラムを作成しています。 下記のように処理を行っているのですがタスクマネージャでメモリ使用量を 見ていると処理を実行する度に増えていきます。 解放手順に問題があるのでしょうか? 宜しくお願いいたします。 Connection2 objConnect; Connections objConnects; _Package2 objPackage; Steps objSteps; Step2 objStep; int intCnt; int intStepCnt; VARIANT varIndex; try { objPackage.CreateDispatch("DTS.Package2"); objConnects.AttachDispatch(objPackage.GetConnections()); objConnect = objConnects.New("SQLOLEDB.1"); objConnect.SetId(1); objConnect.SetDataSource(strDataSrc); objConnect.SetPassword(strPass); objConnect.SetUserID(strUsrId); objConnect.SetUseTrustedConnection(FALSE); objConnects.Add(objConnect.DetachDispatch()); objPackage.LoadFromStorageFile( strPkgPath, NULL, NULL, NULL, strPkgName, NULL); objPackage.SetFailOnError(FALSE); objSteps.AttachDispatch(objPackage.GetSteps()); memset(&varIndex, 0, sizeof(varIndex)); intStepCnt = objSteps.GetCount() + 1; for(intCnt = 1; intCnt < intStepCnt; intCnt++) { varIndex.vt = VT_I4; varIndex.lVal = intCnt; objStep.AttachDispatch(objSteps.Item(varIndex)); objStep.SetFailPackageOnError(FALSE); objStep.SetExecuteInMainThread(TRUE); objStep.Execute(); objStep.ReleaseDispatch(); } } catch(CException *pe) { pe->Delete(); } objConnects.ReleaseDispatch(); objSteps.ReleaseDispatch(); objPackage.UnInitialize(); objPackage.ReleaseDispatch();
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.