Issues when migrating from the Microsoft-SCC-Add-In

If you used version control with the Microsoft source code control add-in for Access before, you can start using Ivercy with no migration process required. There are however a few issues that you should be aware of.

References are missing

Problem

If you worked with the Microsoft source code control add-in before, probably all your databases in the repository were added with that tool. If you are creating a local copy of one of those databases with Ivercy, you might notice that there are references missing.

If you are working with both tools in parallel, you may notice the same behavior if you add a new database with Ivercy and then create a local copy with the Microsoft source code control add-in.

This problem affects all custom references but not the built in references.

Solution (Workaround)

There is no real solution to this but only a manual workaround.

After creating the local database with Ivercy,

  1. check out the Data&Misc-Objects (Check out in the Ivercy Ribbon)
  2. open the Visual Basic Editor
  3. re-add all the required references (Menu Tools -> References)
  4. check-in the Data&Misc-Objects (Check in the Ivercy Ribbon)

From now on all the references will be available right away when you get a local copy of the database with Ivercy.

The same workaround applies if you added the database to the repository with Ivercy and spotted missing references after creating a local copy with the Microsoft source code control add-in.

If you are using both add-ins in parallel, and add or remove references in the development process, you will have to maintain these references twice.

Problem assessment

This issues is caused by the behavior and data structures of the Microsoft SCC-Add-In. We don’t see any chance to fix this in Ivercy with reasonable effort.

Background information

The Microsoft SCC-Add-In does not store the references in the .ACD-File (Data&Misc-Objects) as real references but as additional information somewhere else in the file. The real references are only set by the Add-In based on the additional info, when creating the database from the SCC repository.

Ivercy cannot read this additional references info from the file. So references are cannot be added by Ivercy and are missing.

This also happens the other way round. If you added the database to the SCC repository with Ivercy and then creating a local copy somewhere else with the Microsoft-Add-In, the references are lost as well. The MS-Add-In ignores the references set in the file and tries to re-create them from the additional info, which is not there. So they are missing again.

This only happens when changing the references and checking in the Access file with one Add-In and then re-creating the Access file with the other.

Fixing these issues would require reading and writing the Access-ACD/ACB/ACP-File on binary file level. The internal file format of Access is only sparsely documented. The additions/modification to the file format for the MS-SCC-Add-In are not documented at all. Reverse engineering these data structures will be extremely time consuming and writing to them incurs a sever risk of corrupting the database. – Conclusion: We won’t fix this.

Creating a database from the repository may fail

In most cases creating a local database from the repository will work without any problem. There are however some cases where it will not.

Problem

If you create a local database with from a repository database that was added with the Microsoft SCC-Plug-In, Ivercy might either display the error message

There is no Access database file in this repository folder. - Cannot create local database.

or the operation fails silently (no message at all).

 

Solution (Workaround)

If you have got Microsoft SCC-Plug-In installed, you can use this workaround.

  1. Use the MS SCC-Plug-In and get a local copy of your database.
  2. Check-Out the Data&Misc-Objects
  3. Create a dummy table in your database
  4. the Data&Misc-Objects
  5. Close the database
  6. Use Ivercy to create a local database in another local folder
  7. Check-Out the Data&Misc-Objects
  8. Delete the dummy table created in step 3
  9. the Data&Misc-Objects

As you probably noticed during step 6 with this workaround the database is now creatable with Ivercy.

If this workaround is not an option for you, please contact us at support@ivercy.com. There are other workarounds for this issue, but all of them involve several manual steps to circumvent the issue.

Problem assessment

We have classified this issue as a bug in Ivercy. We missed a detail while analyzing the functioning of the Microsoft SCC-Add-In. This bug will be fixed as soon as possible.

Background information

When implementing the affected feature in Ivercy, we assumed there will always be an .ACD, .ACB or .ACP file in the repository folder containing the database code. – This file is the binary file containing the Data&Misc-Objects. – However we recently became aware of this being not always the case. If there are no tables in the database the Microsoft SCC-Add-In will not create this binary file. It will then only create the .ACX XML file containing the information which DBVersionToCreate.

Ivercy then fails to create the local database without an .ACD, .ACB or .ACP file. This error is further aggravated by the fact that the error message is not displayed in some cases.

Related issue

If you add a new database to the repository with Ivercy and then try to create a local copy of that database from the repository with the MS-SCC-Add-In, the Add-In will fail to create the database.