使用虚拟文件连接源信息
如果在一个作业中使用了带虚拟文件连接源信息视表,那么在作业中可以创建虚拟文件。
通过虚拟文件连接源信息来创建虚拟连接源,就可以在视表中创建虚拟文件连接源信息视表。
数据通道连接器 (带数据通道连接器的视表) 或
临时文件
(带临时文件连接源信息视表),虚拟文件 (带虚拟文件连接源的视表)可以被用作中间文件在视表过滤器间传输数据。
与临时文件,数据通道连接器不同,使用虚拟文件连接器时是有条件的。如果需要一个没有设置的中间文件时,可以考虑使用临时文件。使用临时文件连接源信息的请参照
使用临时文件连接源信息。使用数据通道连接源信息请参照使用数据通道连接源信息。
以数据通道连接器和临时文件的差异为中心,虚拟文件的操作如下描述。
- 虚拟文件是一个被创建的存在于内存中的中间文件。如果视表过滤器中的输出视表是一个虚拟文件,输出数据将不在磁盘中被保存,但会保存在内存中。
正因如此,它比使用虚拟文件快。不像临时文件,不需要磁盘空间。
然而,需要大的内存空间。
- 数据通道连接源器也存储内存中的数据,数据不存储在其分配大小预先通过作业属性
对话框中数据通道连接器内存大小被指定的内存中。
如果虚拟文件被使用,所有数据需要的输出内存被分配。
也就是说,内存大小由作业定义决定并将不依赖于输出数据的数量如果数据通道连接器被使用。
另一方面,如果虚拟文件被使用,内存大小通过输出数据的大小被确定。
如果虚拟文件在视表中被用于处理大量输出,那么需要很大内存容量但是需要内存容量如果大量输出数据需要使用虚拟文件被处理。它比数据通道连接器要快因为没有涉及在有限固定内存中处理数据的开销。
(然而,数据通道连接器可能比虚拟文件要快如果 CPU 是理想地分配于多CPU环境的机器。这是因为定义于带虚拟文件的视表前后的视表过滤器不能被同步处理。 )
作业执行工具动态分配的内存容量在700MB 到 800MB之间。
虚拟文件使用的该空间不包括为其它进程分配的空间。 (更多关于作业执行工具动态分配的内存容量的信息,参照作业属性
对话框中的分类内存容量)
虚拟文件可以被使用仅当处理的数据容量在可行大小范围内。
如果不是(如,记录数未知。),虚拟文件不能被使用。使用临时文件或数据通道连接器来代替。
如果虚拟文件的内存分配失败,一个如
"C0003 内存分配到对象失败。",或
"C0004 内存分配失败。"
的响应代码被写入到日志文件中在执行作业异常结束之后。
- 与数据通道连接器的处理相比,前后被定义的视表过滤器不能被同时处理(与临时文件相同)。
首先,在带有虚拟文件视表之前被定义的视表过滤器为输出被处理。
然后,在带有虚拟文件视表之后被定义的视表过滤器被处理。
在一些条件下,数据通道连接器不能为视表指定,因为前一个视表过滤器和下一个视表过滤器都将被同时处理。虚拟文件可以被指定给任何视表除非视表在作业中是第一个或最后一个视表。
例如,数据通道连接器不能为结合视表过滤器和归并视表过滤器的输入视表所指定。数据通道连接器也不能为参照视表过滤器的参照视表所指定。虚拟文件可以被指定到上面提到的所有视表。尽管视表连接的前一个视表过滤器和后一个视表过滤器都变为"等待状态" (发生死锁),它不能被改为数据通道连接器,视表可以被改为虚拟文件。
关于
数据通道连接器与临时文件共同特征的信息,参照 使用临时文件连接源信息。