none
How to handle x64/x86 issues with DataSets in VS2008? RRS feed

  • Question

  • Hi,

    I'm just trying to manage an Acces database connection from a x64 application using Access Database Engine x64 in VisualStudio 2008.

    As far as I read in the internet, it's not supported to install both x86 and x64 Access Database Engines, right?

    This means, since I have installed the x64 version, that I cannot use the "Microsoft.ACE.OLEDB.12.0" Provider in the "Extended" dialogue of the "Microsoft Access-Database file (OLE DB)" Dataconnector UI, because VS2008 is x86. If I do, I get the error saying, that the provider is not installed.

    Therefore, I use the old style "Microsoft.Jet.OLEDB.4.0" to create and manage my DataTable and DataAdapter objects. Once created, I can change the Provider in the settings.settings file to "Microsoft.ACE.OLEDB.12.0" in order to set it for runtime, when I debug or run the released program.

    Now to my question: Is this the "right" way or do I don't see any detail?

    Best, Kermit

    Friday, October 22, 2010 1:13 PM

Answers

  • You can also write another 32bit broker process that will deal with all 32 bit issues like file access, registry and database drivers so you don't need to force the 64bit version of Access drivers on the customer's computer. 

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    • Marked as answer by kermit_swiss Friday, October 22, 2010 4:04 PM
    Friday, October 22, 2010 3:22 PM

All replies

  • You can also write another 32bit broker process that will deal with all 32 bit issues like file access, registry and database drivers so you don't need to force the 64bit version of Access drivers on the customer's computer. 

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    • Marked as answer by kermit_swiss Friday, October 22, 2010 4:04 PM
    Friday, October 22, 2010 3:22 PM
  • Not shure, if I understand you right. A "broker process" is some kind of "out of process", like a windows service, isn't it? In other words: like an own, small and lean "SQL-Server" capable of only doing what I really need, acting against the .mdb using 32 bit Jet? If so, wouldn't it be more stable to use an SQLServer Express?

    TIA - Kermit

    Friday, October 22, 2010 3:40 PM
  • Yes, the cost of a broker process may be too high for you if you don't need to access the 32bit view of the file system and registry if you can switch to SQL Server.

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    • Marked as answer by kermit_swiss Friday, October 22, 2010 4:04 PM
    • Unmarked as answer by kermit_swiss Friday, October 22, 2010 4:04 PM
    Friday, October 22, 2010 3:43 PM
  • Well, I'm in a phase of analysis in order to select the right way to go. What's extremly inadequate is the limitation to Office x64, once AccessDatabase Engine x64 was installed. At the moment, SQL Server is my favorite, but I have to do some tests.. Oh, I've got off topic.

    Thank you for your input.

    Friday, October 22, 2010 4:04 PM