Tuesday, March 20, 2012

Access 2000 to SQL Express 2005

I have a commercial applicaton today developed in visual basic 6 with an access 2000 database. This application is ran by hundreds of businesses nationwide. Each business is running anywhere from 1-8 computer systems.

Every once in a while a customer experiences corruption with the Access 2000 DB. Because of this I would like to switch the backend to SQL Server express 2005.

1) Does SQL Server Express need to be installed on every single PC even if the user of a PC are going to access the database on another machine? ie PCa and PCb will connect to PCf for data. Does PCa and PCb have to have sql express installed?

2)Can I install SQL Express and the .net framework 2.0 silently with my application and can i configure network access automatically. What tool is best for this WISE? Installshield, etc? I need to be able to deploy 1 simple exe to install the entire application.

3)What type of a file size are we looking at here for deployment? Express + .net framework 2.0 60-80 Meg?

3)Can I backup the database with VB6? Articles say no but can't you just xcopy the MDF and log file to backup the database?

4)Can I update the database from VB6 utilizing MSADOX. With Access 2000 I can add tables, modify columns, indexes etc using MSADOX right from VB.

Hi Matt,

1) No, you only need SQL Express installed on the computer where the data will be stored.

2) Yes, you can install the framework and SQL Express silently. I'm not sure of the switch for the framework, but it's probably /q. For SQL Express, check out the Books Online topic on command line installation at http://msdn2.microsoft.com/ms144259.aspx. Network access is configured with the DISABLENETWORKPROTOCOLS switch. You will also need to make Exceptions in any firewalls on the computer where you install SQL Express and the SQL setup does not do that for you. You should be able to find the Windows Firewall API on MSDN. Finally, SQL Express must be deployed using the pre-build installer that you download. You can embed that installer within any other installation program using a command line as described in the BOL topic listed above.

3) The .NET Framework 2.0 redistributable is 22.4 MG and SQL Express is 53.5 MB.

4) XCopy of the MDF file does not account for transactions that are in process at the time of the copy, so your backup could be in an odd state if you try to use copy. I'm not really the expert on SQL Express integration with VB6, but you can do backups of SQL database using a fairly simple T-SQL script and then use the Windows Task Scheduler to schedule the script to run so that backups are made on a regular basis.

5) I don't see any reason why not, but again, I'm not the expert here. Needless to say, SQL 2005 is tightly integrated with Visual Studio 2005 and ADO.NET 2.0 so that would be the best way to do this, but obviously your app is in VB6. My best advice is to give it a test. This might also be a good oportunity to consider migrating your application to VB.NET 2005. You can check out VS 2005 for free using the Express edtions at http://msdn.microsoft.com/vstudio/express/.

Regards,

Mike Wachal
SQL Express

No comments:

Post a Comment