Friday, February 24, 2012

64 Bit OLE vs. 32 Bit OLE

I have a SSIS package that works on Windows Server 2003 32 Bit with SQL Server 2005 32 Bit when I move it to a Windows Server 2003 64 Bit (AMD) with SQL Server 2005 64 Bit it fails with error 80040154 on the connection to an Access 2000 database. The solution maybe Jet 4.0 SP8 however I can not find SP8 for Windows Server 2003 64 Bit AMD (I can find Jet 4.0 SP8 for Windows Server 2003 32 Bit, Windows Server 2003 64 Bit Itanium however).

Sorry, but there is no Jet support for 64 bit so you would have to run this package as 32 bit only.

HTH,

Matt

|||I understand that Access is 32 Bit and the system I am replacing is running on this server using 32 Access (2000), the is also SP8 for Itanium 64 Bit so are you saying that the only 64 Bit OLE connection to an Access database that is supported is the Itanium 64 Bit system?|||

It is my understanding that there is no jet support for 64 bits. However, since this is an SSIS forum there could be new releases of Jet that are addressing this. To find out for sure you should ask on that forum as they would know better than we do.

Matt

|||I posted it here because all other access to these databases work. In fact SSIS Import Wizard will build a project for this, testing the connection works, selecting the desired table works, it all works until I run it. NOTE: If I preview the connection the preview works however it will general a "system out of memory"......|||

The problem is that the wizard uses different access mechanisms to get the information than the actual package. The package uses OLEDB to access jet and that (to the best of my knowledge) does not support 64 bit unless it has changed recently. If it has then you should ask on the jet forum what that specific error code means coming from their OLEDB provider because that is usually the error for class not registered and that has always been the error we get due to non 64 bit support for jet (as the class isn't registered in the 64 bit registry since it doesn't support 64 bit).

Thanks,

Matt

|||Ok, where do I find the jet forum?|||Just to make sure you know this - you can run the package as 32-bit and use 32-bit OLEDB providers on 64-bit system. You need to use 32-bit dtexec.exe from c:\Program Files (x86)\Microsoft Sql Server\...|||Thanks Michael! Based on that I found that there is a property in Visual Studio for a project "Run64BitRuntime" which is set to true by default, I set it to false and the OLEDB connection works!

No comments:

Post a Comment