Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SSIS:从大表加载数据时引发OutOfMemoryException_Ssis_Out Of Memory_Large Data - Fatal编程技术网

SSIS:从大表加载数据时引发OutOfMemoryException

SSIS:从大表加载数据时引发OutOfMemoryException,ssis,out-of-memory,large-data,Ssis,Out Of Memory,Large Data,我有一张很大的桌子,我无法取出。此表是通过专有数据库ODBC驱动程序提取的,我将其链接到ADO.NET源代码中 源表有90000行和333列。在提取和加载到Oracle数据库之间,我只转换了3列 每次我运行包时,它都会在加载了66500行OutOfMemoryException后失败。我试图将批量大小更改为非常低的值,如10或50,但仍然失败 我的数据流截图: 注意:对于此数据库中的其他表,我必须将批处理大小降低到300以下,因为列的数量超过了生成的insert查询的可用参数数量,并导致包失败

我有一张很大的桌子,我无法取出。此表是通过专有数据库ODBC驱动程序提取的,我将其链接到ADO.NET源代码中

源表有90000行和333列。在提取和加载到Oracle数据库之间,我只转换了3列

每次我运行包时,它都会在加载了66500行OutOfMemoryException后失败。我试图将批量大小更改为非常低的值,如10或50,但仍然失败

我的数据流截图:


注意:对于此数据库中的其他表,我必须将批处理大小降低到300以下,因为列的数量超过了生成的insert查询的可用参数数量,并导致包失败。

因此,在发布此问题后,我终于想出了一个解决方案。我只是在这个特定包的目的地上将BatchSize设置为1,结果成功了。这是我遇到问题的唯一一个包。

90k行是SSIS的一个小数据集。你能发布更多细节吗?您确定问题不在Oracle方面吗?包中还发生了什么?你能发布数据流的截图吗?引发OutOfMemoryException的组件是什么?另外,一个快速测试,看看它是Oracle还是常规软件包的赢家,就是删除您的目标,并用行计数转换替换它。包完成了还是仍然抛出异常?@Diego:我知道行数很小,但对于SSIS插入来说,列数很大,因为它将为每个插入生成一个参数,然后乘以行数。因此,我确实认为在处理包时,如此大量的列可能是一个问题。@billinkc:我已经在我的每个架构表上使用了行计数转换来计算数据量,没有任何问题。我用数据流的截图更新了我的问题。