Ask a questionAsk a question
 

AnswerAccess Database and x64 OleDB Connect

  • Friday, September 09, 2005 1:52 PMMarkus1972 Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Hi,

    i've written a programm wich access an .mdb Database with OLE-DB.
    Under Win x32 everything works fine
    Under x64 no Database is found.

    Is there no way to access an mdb Database from x64?

Answers

  • Tuesday, October 25, 2005 12:17 AMBrad Rhodes Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    There is no way to access a .mdb database from 64bit.
    It has been decided to not port the Microsoft Jet Database engine to 64Bit.

    Brad Rhodes
    This message is provided as is....

All Replies

  • Tuesday, October 25, 2005 12:17 AMBrad Rhodes Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    There is no way to access a .mdb database from 64bit.
    It has been decided to not port the Microsoft Jet Database engine to 64Bit.

    Brad Rhodes
    This message is provided as is....
  • Monday, October 31, 2005 3:09 PMKen TuckerMVP, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Hi,

              I have used the vs.net 2003 oledb classes to connect to an access database successfully on my xp x64 pro laptop.  I get the same errors as you when I try using the vs.net 2005 oledb classes. The only suggestion I have is to create a class library with vs.net 2003 for connecting to an access database and pass the dataset or datareader to your vs.net 2005 app.(untested)

    Ken
  • Tuesday, November 01, 2005 2:56 AMKen TuckerMVP, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Proposed Answer
    Hi,

               Jay Harlow came up with a simplier solution.  In my project complier tab press the advanced compile options button and set the target cpu to x86.  That will force the program to use the 32bit drivers.

    Ken
    • Proposed As Answer byAyoub Umoru Monday, April 27, 2009 7:28 AM
    •  
  • Tuesday, November 01, 2005 9:53 AMMarkus1972 Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Thx, i will give it a try.
  • Monday, November 21, 2005 12:42 PMjimkeir Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Hi,

    First, thanks for a nice clear answer. I've been hunting for this all day. However...

    WHAT?

    The only 64-bit ODBC driver I've so far found is for SQLServer. My options seem to be:

    1) Install 35Mb of SQLServer Express on every client PC (this is a standalone app, not networked);
    2) Write my own RDBMS with compiles to 64-bit, then re-write my app to use that instead

    What is the recommended way for a C++ app with a small database requirement to go?

    Thanks,
    Jim

  • Monday, November 21, 2005 1:55 PMKen TuckerMVP, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Go the msdn product feed back center and make a suggestion.  I feel they should have 64 bit drivers available for odbc also.

    http://lab.msdn.microsoft.com/productfeedback/

       

  • Friday, April 21, 2006 8:33 PMsabreman Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    is there a way to pull this same thing off within a C# project? that option does not seem to be available under my project's settings.
  • Tuesday, April 25, 2006 3:29 AMjuliam Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Hi - I'm really hoping you can help, enlighten or point me in the right direction

    I'm not technical when it comes to Access, ASP and their combination to provide web applications (dbases etc). I hope this info gives you enough information to work from  (web - Access - ASP) to know where our problem lies and apologise for my lack of knowledge.

    My problem is that after installing server 2003 64bit enterprise on 64bit hardware, my web designer says that they cannot get the Access (office 11 version) database to work. Access (the program) opens and the actual dbase opens within the program via remote access.

    However, when we apply the new IP, swapping servers, the backend systems seem to fail to work so we cannot login for example to the web secure area

    I cannot find any mention on the net to this effect where people have an incompatibility issue so I assume there is a way to allow Server 2003 Enterprise 64bit running on a 64bit architecture to run Office 2003 professional (and in particular Access).

    Not knowing about ASP, is it that they do not use ASP.net v2.0?

    Or does the server require setting up in a particular way to allow for everything to work together.

    I hope you can help with the above in anyway as I'm pulling teeth trying to get to the bottom of why our Chinese web designers cannot get it to work - in turn making us look stupid in our clients eyes since they expected our new server online over a week ago

    Thanks, Liam

  • Tuesday, April 25, 2006 11:24 AMKen TuckerMVP, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    As you have probably figured out there is no way to set what processor to target in an web application. Try this.

     

    Install asp.net 2.0 32 bit version

    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

     


    Enable 32 bit applications on 64 iis

    cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

     

    When you create the asp.net application do not use the file system create the application on the local iis.   In the iis manager create a new application pool for the 32bit applications.  Now open the properties for the web site you created.  Change the application pool to the one you just created.  Click on the configuration button and change extension mappings directory from C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll to C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll for all the extensions. 

     

    Once this is done you should be able to open an access from inside a web page. 

  • Tuesday, April 25, 2006 11:51 AMjuliam Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Hi Ken

    I'm assuming this was primarily meant as an answer for my query for me to follow?

    If so, thank you, will get them to try it and let the board know the outcome.

    One thing, their using ASP and not ASP.NET, will this create delays in rewriting codes?

     

     Ken Tucker wrote:

    As you have probably figured out there is no way to set what processor to target in an web application. Try this.

     

    Install asp.net 2.0 32 bit version

    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

     


    Enable 32 bit applications on 64 iis

    cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

     

    When you create the asp.net application do not use the file system create the application on the local iis.   In the iis manager create a new application pool for the 32bit applications.  Now open the properties for the web site you created.  Change the application pool to the one you just created.  Click on the configuration button and change extension mappings directory from C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll to C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll for all the extensions. 

     

    Once this is done you should be able to open an access from inside a web page. 

  • Tuesday, April 25, 2006 12:14 PMKen TuckerMVP, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Sorry I misread the question I thought it was asp.net.  I am not sure how to do it for asp.
  • Tuesday, April 25, 2006 11:49 PMjuliam Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Thanks Ken

    Can anyone else please advise:

    1 - original Website backend uses MS Access 2003, ASP (not .NET), IIS6.0 on win2k server

    2 - new server 64bit, win serv 2k3 ent 64bit, MS Access 2003, ASP (not .NET), IIS6.0 - dbase as a webpage will not open, cannot login for access to it (it opens ok within Access so the problem is not with Access 2003 or the dbase as it stands - it's with the structure to produce the dbase through the web on a x64 machine and OS)

    Has anyone heard of this problem before (not ODBC related etc) - there must be someone else still using ASP to produce a simple MS Access dbase but on a server 2003 x64 machine. Please anyone?

    Liam

  • Thursday, May 25, 2006 10:05 PMNelsonCE Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Sure there is...first change the Platform Target in the properties to x86.  This will force it to use 32-bit...but then you will get an error about System.EnterpriseServices not being found.  So you'll have to move the EnterpriseServices.dll from the:
    <Windows>\Microsoft.Net\Framework\v2.0<subversion>
    to the:
     <Windows>\assembly directory

    Turns out that only the 64-bit assembly is put into the GAC by default.  That solved the problem for me.

    Chris
  • Thursday, September 14, 2006 7:18 PMallstar1234 Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    I just want to know if Microsoft change is mind and decided to port Microsoft Jet Database engine to 64bit.

    I don't understand this choice.  Why migrate to x64 then ? Or is there an other mean to manipulate an Access BD with a x64 application ?

    Thank you

    Eric

  • Sunday, January 28, 2007 12:12 PMDave_Soton Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    To the problem of running access mdb database its an extremely simple solution to get it to run on an x64 Windows, change IIS to run 32bit and so have access to all the 32bit drivers and registry. All the odbc drivers are still included but you just cant access them unless its a 32bit app.

    Read this support article to change IIS between 32bit and 64bit : http://support.microsoft.com/kb/894435 

  • Thursday, October 18, 2007 8:15 AMTravelling Dougi Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    I just upgraded my development machine to an XP x64 setup.  I checked out lots of software to be sure that I was compatible, but it didn't even cross my mind that something as widely used as Jet.OleDB might not work.  I develop a LOT of tiny quick web apps which use classic ASP and MS Access specifically because of its simplicity.

    Can it really be that Microsoft are not going to develop
    Jet.OleDB for the next generation platforms?  Not everything is enterprise level and requires .NET or SQL Server so what are developers like myself supposed to do?  There must be loads of us!

    Does ANYONE have a workaround to this problem?  I just cant believe that there is no solution for this.  All the forums seem to just say that MS haven't developed the 64-bit version.  Alternatives please anyone?

    In advance, thankyou!

  • Thursday, October 18, 2007 11:47 AMTravelling Dougi Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    OK - I solved it.  Thanks to the post previous to this I managed to switch .NET over to 32-bit mode.  I didnt realise that this would also affect the classic ASP running on the machine. 

    Once I had done that I was able to read data from the database, but got the following error if I tried an UPDATE or INSERT.

    Microsoft JET Database Engine error '80004005' Operation must use an updateable query

    I then found this article: http://www.aspapp.com/content.asp?ContentID=153

    This takes you through setting the permissions in IIS to let you make INSERTs etc.

    All now appears to work fine.  PHEW and thankyou!
  • Wednesday, November 21, 2007 8:02 AMLucianMihai Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

     

    Unfortunatelly this is the only solution and it works. So there's no plan from Microsoft to implement MsJet 4.0 under X64?
  • Thursday, November 29, 2007 7:16 AMAndreas H Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

     Ken Tucker wrote:

    Go the msdn product feed back center and make a suggestion.  I feel they should have 64 bit drivers available for odbc also.

    http://lab.msdn.microsoft.com/productfeedback/

       



    Has anyone startet a Entry where I can vote for it?

    https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=123311&wa=wsignin1.0

    and this one
    https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=90562&wa=wsignin1.0

  • Tuesday, June 17, 2008 9:31 AMShirleyCheung Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Thanks for your post. Its really solved my problem in Windows Server 2008.