DTS.Application App=new DTS.Application(); 
try
{
DTS.PackageSQLServer package= App.GetPackageSQLServer("(local)\\CaaZJ", "jhd", "123",  DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default); 

DTS.PackageInfos Infos;  Infos = package.EnumPackageInfos("", false, "");  foreach(DTS.PackageInfo Info in Infos)  {  Console.WriteLine("Name : {0}\tVersionID : {1}",Info.Name,Info.VersionID);  }

catch(Exception e)
{
Console.WriteLine(e.Message);
}
Console.Read();

解决方案 »

  1.   

    上面得问题我知道原因了!
    但是下面得问题我知道怎么搞得!!
    /// <summary>
    /// DTS包
    /// </summary>
    /// <param name="strServerName">服务器</param>
    /// <param name="strUserName">用户名</param>
    /// <param name="strUserPwd">用户密码</param>
    /// <param name="packagePath">DTS包路径</param>
    public static void DTSTranf(string strServerName,string strUserName,string strUserPwd)
    { string packagePath = System.Windows.Forms.Application.StartupPath + @"\" + "DTSTansfer.dts";
    DTS.Package2Class package=new DTS.Package2Class(); 
    DTS.Application app = new DTS.ApplicationClass();
    object MIA=System.Reflection.Missing.Value;
    try
    {
    DTS.SavedPackageInfos Infos = package.GetSavedPackageInfos(packagePath); 
    string packageid = Infos.Item(1).PackageID.ToString(); //DTS ID
    string versionid = Infos.Item(1).VersionID.ToString(); //DTS 版本号
    string packageName = Infos.Item(1).PackageName.ToString(); //DTS名称 package.LoadFromSQLServer(strServerName,strUserName,strUserPwd,DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default,"123",packageid,versionid,packagePath,ref MIA);
    package.LoadFromStorageFile(packagePath,"",packageid,versionid,packageName,ref MIA);
    package.SaveToSQLServer(strServerName,strUserName,strUserPwd,DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default,"","","",ref MIA,false);
    package.UnInitialize(); DTS.PackageSQLServer pkgSQLServer = app.GetPackageSQLServer(strServerName,strUserName,strUserPwd,DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default);
    DTS.PackageInfos infos = pkgSQLServer.EnumPackageInfos(packageName,false,packageid);
    if(infos.EOF)
    {
    MessageBox.Show("DTS导入包失败!!");
    }
    package.Execute(); //执行DTS包
    }
    catch(Exception ex)
    {
    throw ex;
    }
    finally
    {
    package.UnInitialize();
    package=null;
    }
    }
    下面错误信息:
    未处理的“System.Runtime.InteropServices.COMException”类型的异常出现在 DataPop.exe 中。其他信息: 指定的 DTS 包('名称 = 'F:\DataPop\DataPop\bin\Debug\DTSTansfer.dts'; ID.VersionID =  {4A17772D-7C73-4CE0-8264-E671DF555011}.{A3C60007-BEB7-4D81-BAE6-1F5029560AC4}')不存在。
      

  2.   

    可以参考:要确保DTS包没有问题public void runDTS()
    {
    DTS.Package2Class package = new DTS.Package2Class();
    string fileName = @"D:\DBS_IMG\tem_image\DB_Picture.dts";
    string password =  null;
    string packageID = null;
    string versionID = null;
    string name = "DB_Picture";
    object pVerpersistStfOfHost = null;
    package.LoadFromStorageFile(fileName,password,packageID,versionID,name,ref pVerpersistStfOfHost);
    package.Execute();
    package.UnInitialize();
    package=null;
    }