Has anyone here ever converted from an Access application to a C# Application?

mvanella

Registered User.
Local time
Yesterday, 19:28
Joined
Nov 15, 2012
Messages
29
I am considering moving my access DB and front-end application from Access to C# with MySQL or Microsoft SQL Server.

  • Has anyone done this?
  • Was it difficult?
  • Is it worth it?
  • Do you have any advice for the move?
  • I really like the Free and Open Source advantage of MySQL over SQL server, any opinions?
 
It is not an easy task since you have to re-write the frontend. Some of the API codes might be similar, but the general syntax and structure of VBA and C# are very different. As for the BE, both Access and Microsoft SQL have a wizard for a free conversion. It's not perfect since a lot of data types are different between the two versions. Therefore, you will have to check over the database after the switch. I don't think there's an official tool for Access to MySQL, although there are probably some third-party tools for purchase. An alternative is to export Access into a format that can be imported into MySQL. But, you will have to go through all the fields in your final MySQL database and change things to the appropriate types.

Whether it's worth it or not depends on the size and complexity of your application as well as how many people will be using it. For simpler applications, Access FE is pretty easy to deal with. But if you want more control and flexibility, then you might want to switch to a programming language. Access BE (JET) is capable of multi-user environment. But when the number of user gets beyond a few dozen, its performance cannot compare to a proper SQL database. It also does not easily support access over web domains. Personally if I decided to move, I'd do it as soon as possible. The further along in development you are, the more you will have to re-write later. Although depending on your situation, you may not have to convert both the FE and BE.

As for MySQL vs MS SQL, MySQL does offer full database functionality for free while MS SQL has a free Express version with limits. I think for recent versions (at least MS SQL 2008 and newer), the limits are 10GB of data 1 processor core and 1GB of RAM for each database, which shouldn't be a big issue unless your database has several million records and/or constantly has thousands of simultaneous read/write operations. Enterprise editions of MS SQL tend to be loaded with a lot of built-in function, such as for security, backups, etc. but are quite costly. The Open Source aspect of MySQL doesn't really benefit most of the people using it as few people install it from source and even fewer people alter the source.

Personally, I tend to choose between the two depending on the language I'm using and the platform I'm running from. Native support is always nice. Linux or PHP will usually be MySQL. Windows and .NET languages will generally use MS SQL. If you're not doing some enterprise level development where performance, security, durability, etc. are major concerns, you might as well choose whichever is easiest for you to work with.
 
Is it worth it?
This is the question you need to answer first and foremost: what is the benefit/cost of the move, what is the benefit/cost of doing nothing (preserving status quo), and what are the costs/benefits of other potential options.
 

Users who are viewing this thread

Back
Top Bottom