SSIS, "Class Not Registered" error...deployment or permissions issue?

  • This is off topic but there you go...

    Can you run the package when saved as a file and not in MSDB?

    I've no experience on running things from MSDB (There is no point, File system store is much cleaner) so cant really add any more. If you certain your user has correct msdb privileges, I dunno.... Try as a file store.

    Cheers,CrispinI can't die, there are too many people who still have to meet me!It's not a bug, SQL just misunderstood me!

  • I'm logged into the SQL Server as the same user who runs the sql agent service.

    I can run the package fine through the file system, when again when I attach it to an Agent Job by seelcting File System and the package, I still get the "class not registered" error.

    I'm not sure what else to even try, but I can't believe it's this much work to get an SSIS package working on a 64-bit SQL Server. Incredible.

  • Goodness me, finally. It's working.

    It's working with a "Operating System (cmdexec)" job with the following:

    D:\Program Files\Microsoft SQL Server (x86)\90\DTS\Binn\DTExec.exe /f "D:\Import\CImport.dtsx" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING EW

    running under the "SQL Agent Service Account".

    I thought if I set 64-bit to false in the package, it used the 32-bit of DTExec.exe so I didn't need to worry about pointing it directly to dtexec.exe? Going to have a play around now and see what I can switch off and leave off and on as well.

  • Hi...I am facing same error on 64 bit server..I have not used job for SSIS execution..can any body tell me how would i go for dtExec.exe for 32 bit ..?

    BKW (9/23/2008)


    I am getting the same error only I can execute my package manually and it works fine but when I set it up in a job the job fails: Any ideas?????

    Code: 0xC0202009 Source: CAW_Vendor_Update Connection manager "Excel Connection Manager" Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040154. An OLE DB record is available. Source: "Microsoft OLE DB Service Components" Hresult: 0x80040154 Description: "Class not registered". End Error Error: 2008-09-23 12:03:07.75 Code: 0xC020801C Source: Data Flow Task Excel Source [1] Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "Excel Connection Manager" failed with error code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed. End Error Er... The package execution fa... The step failed.:w00t:

  • http://www.microsoft.com/downloads/details.aspx?familyid=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en

    Make sure you have the proper drivers installed on the target server. This solved the problem for me.

  • I got exactly the same error with SQL2008 SSIS, the package was build with one connection to Excel sheet. The SSIS package ran fine but when the package was inserted as one of the step in a job the job failed. To run the job (this SSIS step) successfully I had to edit the SSIS step, check the option 'Use 32 bit run time' under tab 'Execution Options'. It worked.

    Hope it helps.

  • Great tip Crispin!!

    I got to the bottom of the first page of this post and thought I had reached the end because your solution worked.

    I has having the same trouble and I changed the project property "Run64BitRuntime" to false and it worked like a dream.:-D

  • /*

    sorry if this information is repeated elsewhere in the discussion. I only read through the first three pages of posts earlier.

    */

    Newbie,

    I had a similar problem where I was running a package in a 64 bit environment. My package uses the MSDAORA provider to connect to an Oracle database. I believe this provider is not available in the 64 bit variety and I was receiving a "Class not registered" error when running the package using a SQL Agent scheduled job. (The package runs fine on the server using the DTExecUI application.)

    I changed the scheduled job to CmdExec type and provided the full path to the 32 bit DTExec.exe file.

    "C:\MSSQL\Tools (x86)\90\DTS\Binn\DTExec.exe" /FILE "C:\Temp\mytest.dtsx" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING EWCDI

    Now the scheduled job is running without error.

    I hope this helps.

    Here is an Microsoft article that may provides more information also.

    http://support.microsoft.com/kb/934653

  • Hi,

    Even i had the same problem and error message. It was successfully working with the 32 bit CMD and throwing an error message in 64 bit platform.

    Hence, i created a batch (.bat) file with the 32-bit dtexec command ("C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\dtexec") to execute my package and then called this .bat file in a scheduled task.:-)

  • shannon714 (12/30/2009)


    /*

    sorry if this information is repeated elsewhere in the discussion. I only read through the first three pages of posts earlier.

    */

    Newbie,

    I had a similar problem where I was running a package in a 64 bit environment. My package uses the MSDAORA provider to connect to an Oracle database. I believe this provider is not available in the 64 bit variety and I was receiving a "Class not registered" error when running the package using a SQL Agent scheduled job. (The package runs fine on the server using the DTExecUI application.)

    I changed the scheduled job to CmdExec type and provided the full path to the 32 bit DTExec.exe file.

    "C:\MSSQL\Tools (x86)\90\DTS\Binn\DTExec.exe" /FILE "C:\Temp\mytest.dtsx" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING EWCDI

    Now the scheduled job is running without error.

    I hope this helps.

    Here is an Microsoft article that may provides more information also.

    http://support.microsoft.com/kb/934653

    thanks shannon714,

    I followed Microsoft link. and fixed my problems.

    have fun

    Ben

  • By reading lots of links and finally got mine working.

    My issue was connected to a 32bit Access database from 64bit SQL server running as a job and it throw Code: 0xC0202009 , Error code: 0x80040154 and "Class not registered".

    For debugging, I changed the debugging option "Run64BitRuntime" to False.

    To fix the scheduled job with package saved in SQL server, I modified the step to use the 32bit DTExec.exe and as Type of Operating Ssystem (cmdExec) to be something like this

    "D:\Program Files\Microsoft SQL Server (x86)\90\DTS\Binn\DTExec.exe" /SQL "\packageNameInMSDB" /SERVER CQDSC01 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING E

    http://msdn.microsoft.com/en-us/library/ms162810.aspx - Great link for dtex.exe

  • Hi SSC-Enthusiastic

    When all started working for you... where you running it as a SSIS or Operating system (64-bit or 32-bit)?

    Thanks

  • This article was a great help. I had a few SSIS packages that were falling over and reading this article helped me figure it out.

    Thanks a lot guys =o)

    😀

  • I recently came across the same problem and changing the max concurrency to 1 seemed to fix my problem. Hope this help! 😀

    /MAXCONCURRENT " -1 "

    Thanks,
    Jeff M. Belina
    Sr. Database Developer/DBA

  • jbelina (12/1/2010)


    I recently came across the same problem and changing the max concurrency to 1 seemed to fix my problem. Hope this help! 😀

    /MAXCONCURRENT " -1 "

    Your text states '1' and your sample code '-1'. Which did you intend?

    The absence of evidence is not evidence of absence.
    Martin Rees

    You can lead a horse to water, but a pencil must be lead.
    Stan Laurel

Viewing 15 posts - 31 through 45 (of 54 total)

You must be logged in to reply to this topic. Login to reply