c# and .mdb or any other database application

I am working on a project that I will be using Microsoft Access to store data. When I package this software, is there a Microsoft Access Runtime I can include that will allow other users to use my software without having Microsoft Access Installed Hopefully that is clear enough. My software uses Microsoft access but if a user does not have Access or a runtime they will not be able to use my software.

Thanks in advance -Mike




Answer this question

c# and .mdb or any other database application

  • yanivpinhas

    If the app is programmed correctly, there should be no reference at all to MS-Access in the application beyond the connection string which should be set via the config file.

    so again, the only issue he needs to be aware of is that he deploys to machines that are properly patched and updated.

    The "access runtime" is the jet database engine, and it is imperative that the target machine is properly updated to assure that the application works.



  • jcm21

    Adamus Turner wrote:
    This is done on the application level not the OS level.

    I am not sure what you mean by this.

    data is not stored in an access database, it is stored in a jet database.

    jet is part of the windows platform.

    Access is a front end application development interface for the jet engine with its own license.

    you can program directly against the jet with any odbc/ado/ado.net.

    a licensed copy of of windows gives your users rights to run apps developed with c# that use odbc/ado/ado.net as a data access methodology.

    the thing you need to worry about is that both you and your users are up to date on all service packs/updates.



  • jcmag

    although the important links at the bottom of that page are broken. . . go figure!

  • libra08

    My point is that the .dll will carry the code for the jet, not the OS updates.

    Access uses windows windows/office .dll's to communicate with the Jet engine not an OS Update.

    Adamus



  • Hoon1234

    maybe I am missing something too. . .

    what I am saying is that there really is no need to interop MS-Access to use the jet database. The only thing that I can think of that MS-Access might give you is reporting.

    I am betting that there is no interop to MS-Access in the application.

    so, the question back to the OP why does he think the app wont work if MS-Access isn't installed

    All that is needed to connect and manipulate an mdb is the jet database engine.

    If he needs to use some native access functionality (for the life of me I can't see why) then he will need to purchase MicrosoftR Visual StudioR 2005 Tools for the Microsoft Office System to get the runtime license.

    Again. . . I am willing to bet a cool US$1000 it isnt needed.



  • Laurent Kempé

    You might want to check the licensing for using the Access database system... the client may have to purchase an access licence, or you will need to purchase a developer licence to publish the files.... I would recomend to check this out before publishing the files.



  • Thanh Duong

    This is a very good point. Your application might be in violation of the Access SLA.

    Adamus



  • MaHMouD 2006

    Thanks for all the input guys. So let me see if I understand everything correctly. Really I am only using a .mdb file to read and write to 3 tables. The user will never use the access file, the software will. So the JET should be fine And is there a way to make sure its installed on a users machine if not install the update on their machine

  • roxaz

    Access is a front end to the Microsoft Jet Database engine, which is part of the windows platform. the only thing you need to be worried about is that your users are up to date on their service packs to get the MDAC (current version 2.8x) and Jet Database (v 4.08)

    see: http://support.microsoft.com/kb/q239114/



  • moorpipe

  • PedroCGD

    Hi Mike,

    The .dll's will carry along with your com objects by reference.

    As long as the user doesn't need to open the .mdb file, you're fine. Your application will recognize the .mdb and read and write from it as normal.

    Adamus



  • CJohnson

    Are you saying "access runtime" errors are not directly associated with their corresponding .dll's

    Are you also saying the com objects that are imported are not referencing Access application .dll's

    If the application works in one windows environment (assuming OS's are the same) the updates have nothing to do with the success or failure of the application runtime.

    Not to be bold, but maybe I'm missing something here. Could you provide a link to an article that address this MS Update conflict

    Adamus



  • huysmans

    "Access is a front end to the Microsoft Jet Database engine, which is part of the windows platform. the only thing you need to be worried about is that your users are up to date on their service packs to get the MDAC (current version 2.8x) and Jet Database (v 4.08)

    see: http://support.microsoft.com/kb/q239114/"

     

    This is done on the application level not the OS level.

    Adamus



  • banswaraboy

    It depends on how you are accessing the data inside of the Access database. If you are using Access database strictly to keep the data and work with it from the .NET application, then I believe you do not need any additional licenses to distribute it. But if you create a user interface inside of the access and running it, or you calling Access using DOM model, then you would probably need to buy an additional licenses

  • c# and .mdb or any other database application