none
No 64 Bit provider available for Oracle

    Question

  • I have been developing SSIS jobs for a short period of time. I had been doing so in a 32 bit environment. I recently had to have my system reimaged. When this was done, my system was upgraded with to 64 bit.

    Now when I run the jobs I had created which connect to Oracle, I get the following error messages:

     

    [Connection manager "HPSMRP.WORLD.ITSReporting1"] Error: SSIS Error Code DTS_E_OLEDB_NOPROVIDER_64BIT_ERROR.  The requested OLE DB provider OraOLEDB.Oracle.1 is not registered -- perhaps no 64-bit provider is available.  Error code: 0x00000000.

    An OLE DB record is available.  Source: "Microsoft OLE DB Service Components"  Hresult: 0x80040154  Description: "Class not registered".

    [OLE DB Source [1]] Error: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.  The AcquireConnection method call to the connection manager "HPSMRP.WORLD.ITSReporting1" failed with error code 0xC0202009.  There may be error messages posted before this with more information on why the AcquireConnection method call failed.

    I am also getting these error messages on new packages I create which connect to Oracle. I dont have any problems with connections to SQL.

    If I change the Run64BitRuntime option to False, I am able to run the package just fine. However, I do not wish to have to change this for every new package I create.

    Thursday, July 18, 2013 4:01 PM

Answers

All replies

  • Download the 64bit drivers from oracle:
    http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html

    or if you have the enterprise edition, you could try attunity:
    http://msdn.microsoft.com/en-us/library/ee470675(v=sql.100).aspx

    Or switch your package/jobstep to 32 bit:
    http://microsoft-ssis.blogspot.com/2012/09/swtich-package-from-64bit-to-32bit.html


    Please mark the post as answered if it answers your question | My SSIS Blog: http://microsoft-ssis.blogspot.com | Twitter


    Thursday, July 18, 2013 4:07 PM
    Moderator
  • you can set the property Run64bit to False under Proj Proerties while executing and check the option to run in 32 bit while scheduling that should work. if above both does not work please install the oracle drivers.

    Thanks


    Please Help People When they need..!!

    Thursday, July 18, 2013 4:27 PM

  • If I change the Run64BitRuntime option to False, I am able to run the package just fine. However, I do not wish to have to change this for every new package I create.

    Unfortunately you have to do it,SSIS works in 32 bit mode always and your package is 64 bit compatible unless u force it to run in 32 bit u will get error.

    Also instead of using OLEDB provider for 64 bit I am sure you can install 32 bit oracle client in your system and it will work.In that case you dont need to change.


    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

    Thursday, July 18, 2013 5:51 PM

  • Unfortunately you have to do it,SSIS works in 32 bit mode always and your package is 64 bit compatible unless u force it to run in 32 bit u will get error.

    Also instead of using OLEDB provider for 64 bit I am sure you can install 32 bit oracle client in your system and it will work.In that case you dont need to change.


    If you only have the 32-bit provider installed, you need to change the Run64BitRuntime property.

    The easiest solution is to install both providers, 32-bit and 64-bit, as Joost mentioned.


    MCSE SQL Server 2012 - Please mark posts as answered where appropriate.

    Thursday, July 18, 2013 7:50 PM
  • Hi There,

    You do not need to install 64bit driver. Just go to your Project Solution Properties and Under "Debugging Option" Change Run64bitRuntime to False.

    Your problem will be resolved.

    Wednesday, October 09, 2013 7:26 PM
  • Hi There,

    You do not need to install 64bit driver. Just go to your Project Solution Properties and Under "Debugging Option" Change Run64bitRuntime to False.

    Your problem will be resolved.

    This will work when designing the packages on the local machine, but this setting doesn't work on a 64-bit server.

    MCSE SQL Server 2012 - Please mark posts as answered where appropriate.

    Wednesday, October 09, 2013 7:31 PM
  • How do you tell scheduler to use 32 bit? I have a dtsx package that has the Run64Bit set to false and I can run the package fine. However, when I run it from the Windows task scheduler via a cmd file that calls the package:

    dtexec /f PayrollBreakOut.dtsx

    it fails with the following:

    D:\SSISPackages\PayrollBreakOut\PayrollBreakOut>dtexec /f PayrollBreakOut.dtsx

    Microsoft (R) SQL Server Execute Package Utility

    Version 10.50.2500.0 for 64-bit

    Copyright (C) Microsoft Corporation 2010. All rights reserved.

     

    Started:  11:32:18 AM

    Progress: 2015-09-08 11:32:18.22

       Source: Data Flow Task 1

       Validating: 0% complete

    End Progress

    Error: 2015-09-08 11:32:18.23

       Code: 0xC0209303

       Source: PayrollBreakOut Connection manager "SourceConnectionOLEDB"

       Description: SSIS Error Code DTS_E_OLEDB_NOPROVIDER_64BIT_ERROR.  The requested OLE DB provider OraOLEDB.Oracle.1 is not registered -- perhaps no 64-bit provider is available.  Error code: 0x00000000.

    An OLE DB record is available.  Source: "Microsoft OLE DB Service Components"  Hresult: 0x80040154  Description: "Class not registered".

    End Error

    Error: 2015-09-08 11:32:18.23

       Code: 0xC020801C

       Source: Data Flow Task 1 Source - Query [1]

       Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.  The AcquireConnection method call to the connection manager "SourceConnectionOLEDB" failed with error code 0xC0209303.  There may be error messages posted before this with more information on why the AcquireConnection method call failed.

    End Error

    Error: 2015-09-08 11:32:18.23

       Code: 0xC0047017

       Source: Data Flow Task 1 SSIS.Pipeline

       Description: component "Source - Query" (1) failed validation and returned error code 0xC020801C.

    End Error

    Progress: 2015-09-08 11:32:18.23

       Source: Data Flow Task 1

       Validating: 50% complete

    End Progress

    Error: 2015-09-08 11:32:18.23

       Code: 0xC004700C

       Source: Data Flow Task 1 SSIS.Pipeline

       Description: One or more component failed validation.

    End Error

    Error: 2015-09-08 11:32:18.23

       Code: 0xC0024107

       Source: Data Flow Task 1

       Description: There were errors during task validation.

    End Error

    DTExec: The package execution returned DTSER_FAILURE (1).

    Started:  11:32:18 AM

    Finished: 11:32:18 AM

    Elapsed:  0.109 seconds

    Tuesday, September 08, 2015 3:44 PM
  • You need to run the 32bit DTEXEC.

    By default, a 64-bit computer that has both the 64-bit and 32-bit versions of an Integration Services command prompt utility installed will run the 32-bit version at the command prompt. The 32-bit version runs because the directory path for the 32-bit version appears in the PATH environment variable before the directory path for the 64-bit version. (Typically, the 32-bit directory path is <drive>:\Program Files(x86)\Microsoft SQL Server\100\DTS\Binn, while the 64-bit directory path is <drive>:\Program Files\Microsoft SQL Server\100\DTS\Binn.)

    See:

    https://technet.microsoft.com/en-US/library/ms162810(v=SQL.105).aspx

    Tuesday, September 08, 2015 3:59 PM