Script task exception of type 'system.outofmemoryexception' was thrown in ssisdb

lonely wolf 21 Reputation points
2020-10-06T12:11:15.26+00:00

Hi All,

I'm create an SSIS package to pull data from Oracle database. To pull data from oracle server i used oracle.dataaccess.dll 32 bit. When i run package manually from solution its work fine but after deploy package in ssisdb when i run package its return stop with out of memory error.

30363-capture.png

SQL Server Integration Services
SQL Server Integration Services
A Microsoft platform for building enterprise-level data integration and data transformations solutions.
2,702 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Monalv-MSFT 5,926 Reputation points
    2020-10-07T03:14:19.52+00:00

    Hi @lonely wolf ,

    May I know if you tick the box of 32-bit runtime when executing the ssis package in SSISDB?

    30568-32-bit-runtime.png

    Best Regards,
    Mona

    ----------

    If the answer is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


  2. lonely wolf 21 Reputation points
    2020-10-07T03:31:12.157+00:00

    Hi Monalv-msft,
    Yes I need to check 32bit. if i don't check it then my application unable to find oracle data access DLL. After debug my code i found that issue occurred in dataAdaptertable where i pull all data from oracle server and send for bulk insert into sql database. I don't get it why this package getting out of memory exception after deploy SSISDB.

    "private static DataTable GetDataTable(
    string connectionString,
    string sql
    )
    {
    SqlDataReader reader;
    var returnDataset = new DataSet();
    using (Oracle.DataAccess.Client.OracleConnection con = new Oracle.DataAccess.Client.OracleConnection(connectionString))
    {
    con.Open();
    using (var command = new Oracle.DataAccess.Client.OracleCommand(sql, con))
    {
    command.CommandType = CommandType.Text;
    command.CommandTimeout = 300;

                    var dataAdapter = new Oracle.DataAccess.Client.OracleDataAdapter(command);
    
                  **dataAdapter.Fill(returnDataset);**
    
    
    
                }
                con.Close();
            }
    
            return returnDataset.Tables[0];
    
        }
    

    "


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.