仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 968|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网站制作之数据转换服务基础观点

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:20:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
mysql使用内部操作字符集gbk来进行操作,即执行"SELECT*FROMtestWHEREname=xxxor1=1/*LIMIT1";从而注入成功在利用SQLServer的历程,中因为常常必要从多个分歧地址将数据会合起来或向多个地址复制数据,以是数据的导出,导进是极其罕见的操纵.我们可使用BCP命令来完成这一义务,可是记着BCP的命令格局是一件使人头痛的苦差事,固然你能够检察匡助文件,以是我们必要功效壮大操纵复杂的工具来完成这一义务,数据转换服务DTS供应了这类撑持。因而本章将先容DTS的基础情形、会商DTS的各个构建组件和怎样完成数据转换服务。

18.1.1数据转换服务简介
为了撑持企业决议,很多构造都需将数据会合起来举行剖析。可是一般数据老是以分歧的格局存储在分歧的中央。有的多是文本文件,有的固然具有表布局但不属于统一种数据源,这些情形极年夜地妨害数据的会合处置。SQLServer为我们供应了使人欣喜的组件,即DataTransformationServices(DTS)。DTS自己包括多个工具并供应了接口来完成在任何撑持OLEDB的数据源间导进、导出或传送数据,并使这一事情变得复杂高效。这意味着不但能够在SQLServer数据源间举行数据的转储,并且能够把Sybase,Oracle,Informix下的数据传送到SQLServer。
使用DataTransformationServices(DTS)大概在任何OLEDB、ODBC驱动程序的数据源或文本文和SQLServer之间导进、导出或传送数据。详细体现在:

  • 数据的导进、导出服务
    经由过程读写数据在分歧使用程序间互换数据。比方,可将文本文件或MicrosoftAccess数据库导进到SQLServer,也能够把数据从SQLServer导出就任何OLEDB数据源。
  • 转换数据
    所谓传送是指在数据未抵达方针数据源前而对数据接纳的系列操纵。好比DTS同意从源数据源的一列或多列盘算出新的列值,然后将其存储在方针数据库中。
  • 传送数据库工具
    在异构数据源情形下DTS,的内置工具只能在数据源间传送表界说和数据。假如要传送别的数据库工具,如索引、束缚、视图时,必需界说一个义务,从而在方针数据库上实行那些包括在义务中的SQL语句,SQL语句是被用来创立这些数据库工具的。
18.1.2DTS布局
DTS将数据导进、导出或传送界说成可存储的工具,即包裹或称为包。每个包都是包含一个或具有必定按次的多个义务的事情流。每一个义务能够将数据从某一数据源拷贝至方针数据源或利用Active剧本转换数据或实行SQL语句或运转内部程序。也能够在SQLServer数据源间传送数据库工具。
包工具用来创立并存储步骤,这些步骤界说了一系列义务实行的按次和实行义务的需要细节。包工具中还包含源列、方针列和有关在数据传送过程当中怎样利用数据的信息。
包能够存储在DTSCOM布局的存储文件中、msdb数据库中、或MicrosoftRepository中。
能够经由过程以下工具来运转包,它们是:dtsrun工具,DTSDesigner,DTS的导进、导出导游,SQLServerAgent来运转计划功课,利用Execute办法挪用DTS包工具的COM使用程序。
包是顶层工具,它包括三种底层工具:毗连、义务、步骤。

1毗连
毗连界说了有关源和方针数据(数据源或文件)的信息这些信息包含数据格局和地位,和平安认证的暗码。DTS包可不包括或包括多个毗连。利用毗连的义务有:

  • DTSDataPump义务
  • 实行SQL义务
  • 数据驱动查询义务
  • 定制义务
    有三品种型的毗连工具
  • 数据源毗连
    数据源毗连界说了有关源和方针OLEDB数据源的信息。这些信息包含服务器称号、数据格局和地位,和平安认证的暗码。第一个利用毗连的义务卖力创立该毗连。假如利用ODBC的OLEDB供应者,则毗连也能够界说ODBC数据源信息。
  • 文件毗连
    文件毗连界说了有关源和方针文件的信息。这些信息包含文件格局和地位。
  • Microsoft数据毗连工具
    Microsoft数据毗连工具大概加载数据毗连文件(*.udl)大概为OLEDB供应者设置数据毗连文件的属性。
2义务
每一个DTS包都含有一个或多个义务,每一个义务都是数据转换(传送)处置的事情项目。义务的品种包含:

  • 实行SQL义务:即实行SQL语句;
  • DataPump义务该义务:为DataPump操纵界说了源和方针数据源和数据转换。DataPump从源和方针OLEDB数据源间拷贝并转换数据;
  • ActiveX剧本实行:ActiveX,VB,Jscript或Perscript剧本。但凡剧本撑持的操纵都能够实行;
  • 实行处置义务(ExecuteProcesstask):指实行内部程序;
  • 批量拔出指实行:SQLServer批拷贝操纵;
  • 发送邮件:利用SQLMail发送寻呼或邮件;
  • 数据驱动查询:实行OLEDB数据源间的初级数据传送;
  • 转换SQLServer工具:即从SQLServerOLEDB数据源向别的的同类数据源复制工具,比方表、索引、视图。
3步骤
步骤工具界说了义务实行的按次,和某一义务的实行是不是依附于前一个义务的了局。假如某一义务不与步骤工具相干联,则其将没法被实行。能够为某一步骤设定运转前提,使其只在必定前提才被实行,为了进步实行的功能,也能够并行实行多个步骤。

步骤的一个主要特征是步骤优先权束缚。步骤优先权束缚界说了前一步必需满意哪些前提以后才会实行以后步骤,经由过程步骤优先权束缚能够把持义务的实行按次。有三品种型的优先权束缚:

  • 完成:暗示前一步骤完成后就实行以后步骤,而不论其乐成与否;
  • 乐成:暗示前一步骤只要乐成实行才实行以后步骤;
  • 失利:暗示前一步骤实行失利时才实行以后步骤。
某一步骤可有多个优先权束缚,只要前一步满意一切的束缚后,才干实行以后步骤。Federated将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用
小妖女 该用户已被删除
沙发
发表于 2015-1-19 09:08:06 | 只看该作者
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
透明 该用户已被删除
板凳
发表于 2015-1-28 05:01:50 | 只看该作者
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
活着的死人 该用户已被删除
地板
发表于 2015-2-5 14:37:51 | 只看该作者
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
再见西城 该用户已被删除
5#
发表于 2015-2-12 07:36:02 | 只看该作者
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
admin 该用户已被删除
6#
发表于 2015-3-3 00:59:01 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
乐观 该用户已被删除
7#
发表于 2015-3-11 08:08:28 | 只看该作者
我们学到了什么?思考问题的时候从表的角度来思考问
精灵巫婆 该用户已被删除
8#
发表于 2015-3-18 00:12:41 | 只看该作者
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
深爱那片海 该用户已被删除
9#
发表于 2015-3-25 08:17:21 | 只看该作者
对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表