|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在需要把许多新记录插入某个数据表的场合,DELAY_KEY_WRITE选项的作用将非常明显。另外,索引还会在硬盘上占用相当大的空间。因此应该只为最经常查询和最经常排序的数据列建立索引。注意,如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果。server|数据|转换MicrosoftSQLServer2000的数据转换服务(下)
数据泵:转换数据
DTS数据泵是一个DTS工具,它驱动数据的导进、导出和转换操纵。
在实行数据转换、数据驱动查询和并行数据泵义务时代将利用数据泵。执
行这些义务的历程是:在源和方针毗连上创立行汇合,然后创立数据泵实
例在源和方针间挪动这些行。在复制每行时,将举行转换操纵。
下图中,在第二个步骤中,转换数据义务在AccessDB义务和SQL
ProductionDB义务之间举行。转换数据义务用毗连间的灰色箭头暗示。
.示例:转换数据义务
要界说从源毗连搜集的数据,能够天生一个转换义务的查询。DTS支
持参数化查询,参数化查询同意在实行查询时界说查询值。
能够将查询键进义务的“属性”对话框,也能够利用数据转换服务查
询计划器,它是一个用图形化体例天生DTS义务查询的工具。下图中,使
用查询计划器来天生一个查询,该查询连接pubs数据库中的三个表。
.数据转换服务查询计划器界面
在转换义务中,还能够界说要对数据举行的变动。下表申明DTS供应
的内置转换。
转换申明
复制列用于在不该用任何转换的情形下将数据间接从源列复制到方针列。
ActiveX剧本用于天生自界说转换。请注重,由于转换将逐行举行,ActiveX剧本大概影响DTS软件包的实行速率。
DateTime字符串用于将源列中的日期或工夫转换为方针列中的另外一种格局。
小写字符串用于将源列转换为小写字符情势,如必要,将其转换为方针数据范例。
年夜写字符串用于将源列转换为全年夜写字符情势,如必要,将其转换为方针数据范例。
两头字符串用于从源列抽取子字符串,对其举行转换后将了局复制到方针列。
修剪字符串用于删除源列中字符串的前导空格、跟随空格和嵌进空格,然后将了局复制到方针列。
读取文件用于翻开文件内容(文件称号在源列中指定),然后将内容复制到方针列。
写进文件用于将源列(数据列)的内容复制到一个文件中,该文件的路径由第二个源列(文件名列)指定。
还能够用编程体例创立本人的自界说转换。天生自界说转换最疾速的
体例是利用举动模板库(ATL)自界说转换模板,SQLServer2000DTS
样本程序中包含该模板。
数据泵毛病纪录
SQLServer2000中供应了一种纪录转换毛病的新办法。能够界说三
种非常情形纪录文件来纪录软件包实行时代的情形:毛病文本文件、源错
误行文件和方针毛病行文件。
●一样平常毛病信息将写进毛病文本文件中。
●假如转换失利,源行呈现毛病,该即将写进源毛病行文件。
●假如拔出失利,方针行呈现毛病,该即将写进方针毛病行文件。
在转换数据的义务中将界说非常情形日记文件。每一个转换义务都有自
己的日记文件。
数据泵阶段
默许情形下,数据泵有一个阶段,即行转换。该阶段是在未选择阶段
的情形下,在转换数据义务、数据驱动查询义务和并行数据泵义务中映照
列一级的转换时设置的。
多个数据泵阶段是SQLServer2000中新增的。经由过程在SQLServer
企业办理器当选择多阶段数据泵选项,在数据泵操纵过程当中的分歧阶段都
能够会见数据泵并增加功效。
将数据行从源复制到方针时,数据泵将依照下图中所显现的基础历程
举行操纵。
.数据泵历程
数据泵处置完最初一行数据后,义务停止,数据泵操纵停止。
假如初级用户要向软件包增加功效,以便软件包能撑持任何数据泵阶
段,能够实行以下操纵:
●为每一个要自界说的数据泵阶段编写一个ActiveX剧本阶段函数。假如
利用ActiveX剧本函数来自界说数据泵阶段,不必要该软件包之外的
别的任何代码。
●利用MicrosoftVisualC++?创立COM工具来自界说所选的数据泵阶
段。在该软件包以外开辟此程序,在实行转换过程当中每一个所选的阶段时
将挪用该程序。会见数据泵阶段的ActiveX剧本办法中每一个所选阶段
都利用分歧的函数和输出点;而这类办法则分歧,它在数据泵义务实行
时代供应一个单一输出点,该输出点将被多个数据泵阶段挪用。
保留DTS软件包的选项
以下选项可用于保留DTS软件包:
●MicrosoftSQLServer
假如要将软件包存储到收集中SQLServer的恣意实例上,该选项将
DTS软件包保留到MicrosoftSQLServer,保存一个便于利用的这些软
件包的清单,并在软件包开辟历程中增加和删除软件包版本。
●SQLServer2000元数据服务
假如筹办跟踪软件包版本、元数据和数据系列信息,该选项将DTS软
件包保留到元数据服务。
●布局化存储文件
如但愿在收集间复制、挪动和发送软件包而不用将其存储在Microsoft
SQLServer数据库中,该选项将DTS软件包保留到布局化存储文件。
●MicrosoftVisualBasic
假如要将DTS软件包兼并到VisualBasic程序中或将其用作DTS应
用程序开辟的原型,该选项将经由过程DTS计划器或DTS导进/导出导游所创
建的DTS软件包保留到MicrosoftVisualBasic文件。
DTS作为使用程序开辟平台
DTS计划器为数据挪动义务供应了多种办理计划。由于供应经由过程编程
体例会见DTS工具模子的功效,DTS扩大了可用的办理计划的数量。利用
MicrosoftVisualBasic、MicrosoftVisualC++或任何别的撑持COM的
使用程序开辟体系,都可使用图形化工具所不撑持的功效开辟出合适于
您的情况的自界说DTS办理计划。
DTS为开辟职员供应多种分歧体例的撑持:
●天生软件包
无需利用DTS计划器或DTS导进/导出导游,您就能够开辟极其庞大
的软件包,并可会见工具模子中的全套功效。
●扩大软件包
经由过程构建自界说义务和转换,能够增加一些合用于您的营业并可在DTS
内反复利用的新功效。
●实行程序包
并不是必定要利用所供应的工具来实行DTS软件包,能够用编程体例执
行DTS软件包并经由过程COM事务显现进度,并同意构建嵌进的或自界说的DTS
实行情况。
样本DTS程序有助于懂得DTS编程的进门常识。该样本可与SQLServer
2000一同安装。
假如开辟DTS使用程序,能够从头分发DTS文件。有关具体信息,请
参阅SQLServer2000光盘上的Redist.txt。
摘自http://www.microsoft.com/china/msdn/?MSCOMTB=ICP_MSDN
为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 |
|