网亚机房管理软件博客

新实用主义典范

有关机房软件Windows窗体控件

创建机房软件Windows窗体控件有如下两个原因:

可以在一个或多个应用程序中使用同一个控件,减少编码量(即重用)。

可以在控件的类中编写与该控件相关的代码,从而使代码更简洁、更易于理解。例如,可以编写一个可处理其单击事件的按钮,这样就不需要在窗体的代码中处理时间了。

在应用程序之间重用控件的方式主要两种。第一中方式是把控件的源文件添加到每个需要该控件的项目中。然后,当生成该应用程序时,控件就会编译到可执行文件中。

第二种方式时建立一个控件库。控件库非常类似于之前介绍的类库。实际上,控件库就是类库,只不过包含了UI驱动的类。与其他类库一样,控件库也会编译为可以在应用程序中使用的独立程序集。这种方式非常吸引人,因为采用这种方式,就可以把程序集发布给其他开发人员,而无须带有源代码。也可以修改程序集,这些改变会立即反映到使用它的应用程序中,即使应用程序没有重新编译,也是如此。在应用程序中,无论是使用控件库,还是只使用一个控件,创建控件的技术是相同的。

机房管理系统需要向外扩展内存压力

按照设计,机房管理系统管理处理几乎完全在内存中进行。这样就能够实现更快的数据移动和转换,其设计目的是只对数据进行一次扫描,从而消除费时的暂存以及多次读写相同数据所带来的成本。而该种设计的潜在缺点是对于大量数据以及复杂的转换集,需要使用大量的内存以及正确的内存类型,以获取最佳性能。

在默认情况,32位Windows操作系统的虚拟内存空间被限制为2GB。虽然可以通过在boot.ini文件中使用3GB开关来提高该值,但这样往往仍然低于当前可用的内存总量。此限制将应用与每个进程,即执行过程中的每个包。因此通过跨多个包来划分一个进程,以确保每个更小的包有其自己的进程,从而独立地利用了完整2-3GB虚拟空间。将多个包连接在一起形成一个统一进程的常用方法是使用执行包任务,此时,必须将Child包设置为在进程之外执行。为此,必须将ExecuteOutOfProcess属性设置为True。

将机房管理软件的数据保存到XML文件中

另一种常见的需求是生成某种输出格式的数据。当输出是一种常用格式或者其他数据格式时,可以简单地将数据流下一步是添加Foreach循环容器,以便枚举变量FileList。每次迭代都会在变量FileName中存储文件名。最后,该容器中的FTP任务将使用变量FileName作为原变量来获取相关文件泵入其中一个数据流目标中。如果想将数据保存到XML文件中,由于两者之间结构并不一致,因此需要进行一些逻辑或结构上的调整,否则将基于列的数据流转换为XML结构是非常困难的。而此时也可以使用脚本任务。

将机房管理软件的数据写入XML文件最简单的方法是通过对数据集使用WriteXML方法实现对数据内容的加载和保存。首先在包中添加一个带有指向AdventureWorks的ADO.NET连接的新脚本任务,并添加对System.Xml.dll的引用,然后再添加命名空间System.Data.SqlClient。在该脚本任务中编写下面所示的代码,以便打开连接,获取所有SSIS SETTING行,并保存为XML。如果需要对导出的数据进行更多的控制,或者对数据进行序列化,那么就需要以不同的方式来使用脚本任务。

脚本任务机房管理系统Dts对象

机房管理系统Dts对象事实上是包的一个属性,同时也是Microsoft.SqlServer.Tasks类的一个实例。Dts对象包中提供了一个可以执行脚本的窗口。虽然在包执行过程中无法更改包的属性,但是Dts对象提供了七个属性以及一个方法,可以使用这些属性和方法与包进行交互。下面简要说明这些成员的含义:

Connections:包中所含义的连接管理器集合。可以在脚本中使用这些连接来获取所需要的任何数据。

Events:包中所定义的事件集合。可以使用该接口触发那些预定义事件和任意自定义事件。

«1»

Powered By Z-Blog 2.0 Doomsday Build 121221

版权所有©2007-2013 南京网亚计算机有限公司
QQ:502800066(购买咨询) 1074187861(技术支持) 邮件: sales@ji-fang.cn
电话:( 025)84533318 (025)84533319 (025)66671103 13913982176 传真: (025)84533320
地址: 江苏省南京市中山东路198号龙台国际大厦1205室