数据转换服务上右键(不能在本地包上右键)->打开包->选择你的*.DTS文件 ->另存到本地SQL服务器这样本地包中就有了.

解决方案 »

  1.   

    看看SQL有没有提供相应的API来完成这样的工作,如果有,就在C#里面调用它们。
      

  2.   

    转版是行不通的。因为里面有一步变化是两种对象的强行转化,在vb6.0下就可以,但是在.net里面就会出现错误,不管是c#还是vb.net,我都试过,但是总是在那一步出错。但又找不到能把这一步避过的办法,所以,只好一条纪录一条纪录的复制了,速度慢的可想而知。如果你决定就用dts转换的话,我劝你到www.codeproject.com里面搜索dts关键词,也许会有什么新的发现。我当时没有得到什么有用的信息。如果你成功了,我希望你能给我发一段源代码。
    我到使用vb6.0做了一个sqlserver2000转到access数据库的程序,在c#里面可以调用外部程序。
      

  3.   

    你好阿!
    我是“编码实现DTS对象”帖子的发起人,我能够在C#中实现DTS对象,并实现转换工作。但是现在的需求是能不能把现有的DTS包文件(eg:"c:\\role.dts")用编码实现方式(不管是VB.NET还是C#都可以)将其加到企业管理器的数据装换服务中呢?希望能够得到你的帮助,谢谢!
      

  4.   

    new 出一个进程来
    string dtsPath = "Dts.exe的路径"
    string dtsAttribute = “/S developserver /U sa /P /N ”
    this.process.StartInfo.FileName = dtsPath
    this.process.StartInfo.Arguments = dtsAttribute + "Ctais /A 包名"
    this.process.Start();
    this.process.Close();
    上面是借鉴别人的代码,不知道好用不好用。试试看吧!
      

  5.   

    上面的那个好像不行,但是这个就可以了,如果你有包文件保存为*.dts格式的
    首先要把DTS的com组件引用
    然后
    DTS.Package2Class package=new DTS.Package2Class();
    Object MIA=System.Reflection.Missing.Value;
    package.LoadFromStorageFile("C:\\sss.dts","","","","sss",ref MIA);
    上面的第一个参数文件保存的地址,sss的这个参数为包的名称。
    package.Execute();
    package.UnInitialize();
    好了!
      

  6.   

    这个不需要dts文件也能够完成