当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:21:00  来源:本站整理

<b>MS SQL Server2k数据转换服务布置</b>[MSSQL防范]

赞助商链接



  本文“<b>MS SQL Server2k数据转换服务布置</b>[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

  1. 目标 www.yestar2000iTbulo.comWp3XQ

  MS sql server做大数据量传输的时刻,我们大多会用到数据传输服务.目前假定,在开辟环境下,我们已经计划好了DTS包并且运行杰出,接下来我们要做的事情是迁移和布置这个DTS数据包.www.yestar2000iTbulo.comWp3XQ

  所以,我们需求把计划环境下的DTS包保存成构造化的存储文件,并且这个文件导入到目标环境下的MS SQL Server中,最后增添功课,让MS SQL Server Angent在我们预期的事情履行这个DTS包完成数据传输工作.此中需求重点办理的一个问题是,在目标环境中,DTS传输的源和目的地会发生改变,需求对它举行配置. www.yestar2000iTbulo.comWp3XQ

  2. 办理筹划 www.yestar2000iTbulo.comWp3XQ

  2.1. DTSRun www.yestar2000iTbulo.comWp3XQ

  DTSRun是微软供应的号令用于履行DTS包(包含构造化存储的、存储在SQL Server或存储在Meta Data Services的包). www.yestar2000iTbulo.comWp3XQ

  dtsrun的用法: www.yestar2000iTbulo.comWp3XQ


  dtsrun
  [/?]|
  [
  [
  /[~]S server_name[\instance_name]
  { {/[~]U user_name [/[~]P password]} | /E }
  ]
  {   
  {/[~]N package_name }
  | {/[~]G package_guid_string}
  | {/[~]V package_version_guid_string}
  }
  [/[~]M package_password]
  [/[~]F filename]
  [/[~]R repository_database_name]
  [/A global_variable_name:typeid=value]
  [/L log_file_name]
  [/W NT_event_log_completion_status]
  [/Z] [/!X] [/!D] [/!Y] [/!C]
  ]
www.yestar2000iTbulo.comWp3XQ

  具体的用法参看微软的资料.这里需求重点指出的是,通过"/A global_variable_name:typeid=value"选项,我们可以给DTS包传送多个自定义的参数,在DTS包布置的目标环境下,我们用这个选项奉告DTS包服务器名称、用户名、密码等数据库衔接信息.通过"/!Y"选项可以获得加密后的DTSRun参数. www.yestar2000iTbulo.comWp3XQ









  2.2. 重新计划DTS包 www.yestar2000iTbulo.comWp3XQ

  为了处理DTSRun传入的自定义参数,DTS包需求重新计划.我们可以增添一个ActiveX Script任务,在ActiveX Script任务中通过VB Script大概Java Script对DTS编程,并且定义流程,把ActiveX Script任务设置成最开始的一个任务.由于DTS COM对象线程情势与ActiveX Script任务宿主的不一致,需求将ActiveX Script任务工作流属性设置成在主包线程中履行,不然大概会呈现调用错误. www.yestar2000iTbulo.comWp3XQ

  下面的例子是ActiveX Script任务中的脚本.例子中的DTS包包含名称为"DBConnection"的数据库衔接对象. www.yestar2000iTbulo.comWp3XQ


  '************************************************************************
  '  Visual Basic ActiveX Script
  '************************************************************************

  Function Main()
  Dim sDBDataSource
  Dim sDBCatalog
  Dim sDBUserID
  Dim sDBPassword
  Dim bDBUseTrusted
  Dim sOLAPServer
  Dim sOLAPCatalog
  Dim oPackage
  Dim oConnection
  Dim oTask
  Dim oCustomTask
  
  ' 获得DTSRun传入的自定义参数
  sDBDataSource = DTSGlobalVariables("DBDataSource").Value
  sDBCatalog = DTSGlobalVariables("DBCatalog").Value
  sDBUserID = DTSGlobalVariables("DBUserID").Value
  sDBPassword = DTSGlobalVariables("DBPassword").Value
  bDBUseTrusted = DTSGlobalVariables("DBUseTrusted").Value
  sOLAPServer = DTSGlobalVariables("OLAPServer").Value
  sOLAPCatalog = DTSGlobalVariables("OLAPCatalog").Value
  
  ' 获得当前DTS包对象的本领
  Set oPackage = DTSGlobalVariables.Parent
  ' 获得包中的数据衔接对象
  Set oConnection = oPackage.Connections("DBConnection")www.yestar2000iTbulo.comWp3XQ

  ' 配置数据源对象的数据衔接信息
  If bDBUseTrusted Then
  oConnection.UseTrustedConnection = bDBUseTrusted
  Else
  oConnection.UserID = sDBUserID
  oConnection.Password = sDBPassword
  End Ifwww.yestar2000iTbulo.comWp3XQ

www.yestar2000iTbulo.comWp3XQ








  oConnection.DataSource = sDBDataSource
  oConnection.Catalog = sDBCatalog
  Set oConnection = nothingwww.yestar2000iTbulo.comWp3XQ

  ' 配置跟多的信息,这里是OLAP解析服务处理任务
  Set oTask = oPackage.Tasks("DTSTask_DTSOlapProcess.Certificate")
  Set oCustomTask = oTask.CustomTask
  Set oTask = nothing
  oCustomTask.Properties("TreeKey").Value = sOLAPServer & "\" _
  & sOLAPCatalog & "\CubeFolder\Certificate"
  Set oCustomTask = nothing
  
  ' 返回成功状况
  Main = DTSTaskExecResult_Success
  End Functionwww.yestar2000iTbulo.comWp3XQ

www.yestar2000iTbulo.comWp3XQ

  2.3. 保存为构造化的存储文件 www.yestar2000iTbulo.comWp3XQ

  这个历程相当的简单,通过企业管理器可以完成.另存为的构造化存储文件就是我们要分发的DTS包. www.yestar2000iTbulo.comWp3XQ

  2.4. 导入到MS SQL Server www.yestar2000iTbulo.comWp3XQ

  我们需求通过DTS编程来实现这个历程.需求夸大的是,下面这段示例需求在ApartmentState为STA线程中才可以精确的被调用. www.yestar2000iTbulo.comWp3XQ


  public void Go()
  {
  DTS.Package2Class pkg = new DTS.Package2Class();
  DTS.Application app = new DTS.ApplicationClass();www.yestar2000iTbulo.comWp3XQ

  //从SQL SERVER中删除已经存在的同名DTS包
  try
  {
  pkg.RemoveFromSQLServer(
  DBServer,
  DBSUserID,
  DBSPassword,
  DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default,
  "", www.yestar2000iTbulo.comWp3XQ

www.yestar2000iTbulo.comWp3XQ








  "",
  PkgName
  );
  }
  catch
  {
  }www.yestar2000iTbulo.comWp3XQ

  //获得待分发DTS包(构造化的存储文件)的包信息,这里假定包中只包含一个版本
  DTS.SavedPackageInfos infos = pkg.GetSavedPackageInfos(UNCFile);
  DTS.SavedPackageInfo info = infos.Item(1);www.yestar2000iTbulo.comWp3XQ

  object obj1 = null;
  object obj2 = null;
  string sPkgID = info.PackageID;
  string sVerID = info.VersionID;
  string sPkgName = info.PackageName;www.yestar2000iTbulo.comWp3XQ

  //载入构造化的存储文件
  pkg.LoadFromStorageFile(
  UNCFile,
  PkgPwd,
  sPkgID,
  sVerID,
  sPkgName,
  ref obj1
  );
  //保存到SQL Server中
  pkg.SaveToSQLServerAs(
  PkgName,
  DBServer,
  DBSUserID,
  DBSPassword,
  DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default,
  PkgOwnerPwd,
  PkgOperatorPwd,
  "",
  ref obj2,
  false);
  pkg.UnInitialize();www.yestar2000iTbulo.comWp3XQ

www.yestar2000iTbulo.comWp3XQ






www.yestar2000iTbulo.comWp3XQ


  //查抄能否保存成功
  DTS.PackageSQLServer pkgSQLServer =
  app.GetPackageSQLServer(
  DBServer,
  DBSUserID,
  DBSPassword,
  DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default
  );
  
  DTS.PackageInfos infs =
  pkgSQLServer.EnumPackageInfos(PkgName, true, "");
  if (infs.EOF)
  throw new Exception("DTS包导入到数据库失利.");
  DTS.PackageInfo inf = infs.Next();      www.yestar2000iTbulo.comWp3XQ

  mPkgID = inf.PackageID;
  mVerID = inf.VersionID;
  }www.yestar2000iTbulo.comWp3XQ

www.yestar2000iTbulo.comWp3XQ

  2.5. 增添功课 www.yestar2000iTbulo.comWp3XQ

  增添功课可以用传统的方法,用SQL语句可做到,不做具体阐明.MS SQL Server更是供应一系列的存储历程对功课举行改正,以到达用户预期的效果.www.yestar2000iTbulo.comWp3XQ

  3. 小结 www.yestar2000iTbulo.comWp3XQ

  文章到此已经到达我们的目标.总体上说,2.2这步的实现有些艰难,在实现历程当中也碰到过很多艰难,有一些是在新闻组中得到的解答,别的的步骤查看MSDN都可以得到对比简单的办理.www.yestar2000iTbulo.comWp3XQ





  以上是“<b>MS SQL Server2k数据转换服务布置</b>[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .