VB6 app developed on Win XP with DAO 3.6. Compiles and runs in XP with the db updating correctly. When app.exe file is copied to and run in Windows server 2012, the app runs and sees the incoming data but will not write to the mdb database. Any ideas?? Thanks.

Recommended Answers

All 8 Replies

We ended support 2 years ago on such an app. Even so the issue I see in your post is you "copied" the app.exe. That never worked. Use the app's setup.exe installer to get all the components to install. This may or may not fix it but copying the app.exe hasn't worked for our apps for decades.

Thanks rproffitt. I don't believe the problem is VB6. We run a parallel app.exe on the same server writing to a different DB.mdb that was compiled into a runtime several years ago from the same WinXP laptop. I believe the issue is the various versions of msaccess at play.

While we found copying in the .exe to fail over and over (we never did this, clients did this for us!) we would visit the site, run the installer and the app would fire right up. The installer did contain the database connector so versions didn't affect our apps.

An alternative could be to install Virtualbox running Win XP on the server and give it joint r/w access to the mdb database. It should work but is a bit of a pain to configure and provide user access.

OK. The complete package was prepared from the VB6 development code. The package and the app.exe were copied to a separate computer running Win 10. The database reemains on the server. The setup.exe for the package was run and installed successfully. The data collection portion of the program is working correctly but the database is not being updated. This continues to smell like an msaccess problem.

Let's look at the database connection setup. Since you have the database on some other PC you have to deal with this. No app I've seen makes this automatic. The author of the app would have to detail how to setup this app to connect to the database on the other computers.

-> This is partially why we used MySQL back then. The database server would then be on a server along with admin keeping the logins and permissions current. But MSACCESS differs here.

Here's a discussion about all the above with VB6, MSACCESS and putting the database on some other PC.
https://www.codeproject.com/Questions/176822/Connect-to-a-remote-MS-Access-database-in-vb6?tab=mostrecent

As you suspect you have a lot of work to do. I can't guess what you do for this particular app or if the author documented how to set it up as well as how to move the database into the shared folder along with the usual server settings for accounts and permissions but I can write that it's far from automatic.

-> This is why almost all the old VB6 systems I worked on have all moved to something with web access. That is the usual web front end and backend of MySQL, PHP, etc.

Thanks for the link. I'll just have to dig deeper. Let's drop this topic for now. I'll come back when I have news.

Problm resolved! I'm no expert but the following allowed a VB6 application
to write to an access database residing on a R2012 server along with the application
executable. The application development was done on Win XP due to old proprietary
controls. The issue turned out to be mismatched references in the database when it
was migrated to the server. In particular, the Microsoft Access 16.0 Object Library
did not like my VB6 executable.

Thanks for the support.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.