科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件关于调用DTS包的代码

关于调用DTS包的代码

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

关于调用DTS包的代码

作者:我就喜欢 来源:CSDN 2008年3月23日

关键字: C C++ 调用 DTS Linux

  • 评论
  • 分享微博
  • 分享邮件
数据库
关于调用DTS包的代码
失败,没什么整理代码
把调用DTS包的代码贴出来,也省得大家去查帮助了(需要更像喜请查看sql server帮助)
以下代码根据sql server中vb代码转化
#import "C:\\Program Files\\Microsoft SQL Server\\80\\tools\\binn\\dtspkg.dll" \
rename("EOF","IsEOF") rename("BOF","IsBOF")

void CChildView::OpenDtsFile(CString strPathName)
{
//企业管理器//数据转换服务//本地包//另存为DTS文件
DTS::_Package2Ptr m_pPackage2;
DTS::TaskPtr      m_pTask;
DTS::StepPtr     m_pStep;
DTS::ExecutePackageTaskPtr m_pExeTask;
try
{
m_pPackage2.CreateInstance(__uuidof(DTS::Package2));
m_pPackage2->FailOnError=true;
m_pStep=m_pPackage2->Steps->New();
m_pTask=m_pPackage2->Tasks->New(_bstr_t("DTSExecutePackageTask"));
m_pExeTask=m_pTask->CustomTask;
m_pExeTask->FileName=_bstr_t(strPathName);
m_pExeTask->Name=_bstr_t("ExePkgTask");

m_pStep->TaskName=m_pExeTask->Name;
m_pStep->Name=_bstr_t("ExePkgStep");
m_pStep->ExecuteInMainThread=true;

m_pPackage2->Steps->Add(m_pStep);
m_pPackage2->Tasks->Add(m_pTask);

m_pPackage2->Execute();


CString strMsg;
strMsg.Format("%s,数据转换%d个任务,%d个步骤成功",
strPathName,m_pPackage2->Tasks->Count,m_pPackage2->Steps->Count);
AfxMessageBox(strMsg);
m_pExeTask=NULL;
m_pTask.Release();
m_pTask=NULL;
m_pStep.Release();
m_pStep=NULL;
m_pPackage2.Release();
m_pPackage2=NULL;

}
catch(_com_error &e)
{
AfxMessageBox(_bstr_t(e.ErrorMessage())+_bstr_t(e.Description())); }
}

 

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章