SQLServer技术(117)

来源:互联网 发布:数码宝贝网络侦探贯穿 编辑:程序博客网 时间:2024/04/30 10:58
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

 DTS导入、导出向导帮助用户交互式地建立包,从而在具有OLEDB和ODBC驱动程序的源和目标数据源间进行数据的导入、导出和转换。下面将以两个具体例子来讲解如何使用DTS向导,同时将对其中涉及的每一个选项进行详细的介绍。
例18-1:使用DTS向导导出pubs数据库中的authors表。
利用EnterpriseManager执行数据导出的步骤为:
    (1)启动SQLServerEnterpriseManager后,登录到指定的服务器,右击DataTransformationServices文件夹,在弹出菜单中选择Alltasks,Exportdata,打开DTSExportWizard,如图18-1所示。


(2)单击“下一步”按钮,打开ChooseaDataSource对话框,如图18-2所示。首先在SourceServer旁的下拉列表中选择数据源。在本例中选择MicrosoftOLEDBProviderforSQLServer。如果使用SQLServer方式,则应输入访问数据库的合法用户账号和密码,在Database旁的下拉列表中选择pubs(先单击Refresh按钮)。

(3)单击“下一步”按钮,打开ChooseaDestination对话框,如图18-3所示。在Destination旁的下拉列表中选择MicrosoftOLEDBProviderforSQLServer。Database旁的下拉列表中选择DBA_pubs数据库。

(4)单击“下一步”按钮,打开SpecifyTableCopyorQuery对话框,如图18-4所示。在此处可以指定传递的内容,可以传递表或某一查询的数据结果集甚至于数据库对象。在本例中选择Copytablesfromthesourcedatabase。

(5)单击“下一步”打开SelectSourceTableandView对话框,如图18-5所示。从中选择一个或多个表或视图进行传递。通过Preview按钮可对将要传递的数据进行预览。

(6)如果想定义数据转换时源表和目标表之间列的对应关系,则单击Trnsform列的方格按钮,打开ColumnsMapping,Transformation,andConstrains对话框,如图18-6所示。

其中各选项的含义如下:

Createdestinationtable:在从源表拷贝数据前首先创建目标表,在缺省情况下总是假设目标表不存在,如果存在则发生错误、除非选中了Dropandrecreatedestinationtableifitexists选项;Deleterowsindestinationtable:在从源表拷贝数据前将目标表的所有行删除,仍保留目标表上的约束和索引,当然使用该选项的前提是目标表必须存在;Appendrowstodestinationtable:把所有源表数据添加到目标表中,目标表中的数据、索引、约束仍保留。但是数据不一定追加到目标表的表尾,如果目标表上有聚簇索引,则可以决定将数据插入何处;Dropandrecreatedestinationtable:如果目标表存在,则在从源表传递来数据前将目标表、表中的所有数据、索引等删除后重新创建新目标表;Enableidentityinsert:允许向表的标识列中插入新值。

(7)在进行数据转换时,可以通过脚本语言(如JscriptPerscriptVbscript)对源表中的某一列施加某种运算(乘、除或将该分割成几列、或将几列合并成一列),然后再将这种结果复制到目标表。此时应选中ColumnsMapping、Transformation,andConstrains对话框的Transformations标签页,如图18-7所示。


(8)应选中ColumnsMapping、Transformation、andConstraints对话框的Constraints标签页,如图18-8所示。

(9)返回SelectSourceTable对话框,单击“下一步”打开Save,ScheduleandReplicatePackage对话框,如图18-9所示。

在When选项区可以选择与包有关的操作:

Runimmediately:表示立即运行包;CreateDTSpackageforReplication:表示让由发布目标来进行复制;ScheduleDTSpackageforlaterexecution:表示将包保存之后,在以后的某一规划时间运行。
在Save选项,选中SaveDTSPackage,则将包进行保存。SQLServer:将包存储在msdb数据库中;SQLServerMetaDataService:将包存储在Repository中;StructuredStorageFile:以DTSCOM结构的文件格式存储。容易通过文件服务器进行邮递和分发。File

    (10)单击“下一步”,打开SaveDTSPackage对话框,如图18-10所示。在Name输入该包的名称AuthorsPackage,可以将包保存在本地服务器或其它的远程服务器,也可以选择适当的认证方式,如果选择SQLServer认证,要提供用户名和密码。

(11)单击“下一步”,在CompletingtheDTSImport/ExportWizard对话框中单击“完成”,结束包的创建。操作如图18-11所示。
注意:在步聚(4)的specitytablecopyorquery双对框中,如果选中useaquerytospecifythedatatotransfer选项,单击“下一步”之后打开之后打开typesolstatement对话框,如图18-12所示。在querystatement下的空白框中输入select语句,则该查询语句的结果集成是所有转换数据。可以通过单击querybuilder按钮来激活创建查询向导。

 

 



<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击