MS-ACCESS 2003/2007 で Visual Source Safe 以外でリビジョン管理する方法

ささっとググっても日本語で読める情報が見つからなかった*1ので。

MS-ACCESS 2003/2007 によるソース管理では、MSSCCI Provider の選択機能がなく、デフォルトプロバイダにしか接続できない。仕方ないので、デフォルトプロバイダを変更する。

位置:HKEY_LOCAL_MACHINE\SOFTWARE\SOURCECODECONTROLPROVIDER
キー:ProviderRegKey (string)

こいつを修正すれば、Team Foundation Server で *.accdb を管理したり、MSSCCI プロバイダを準備することで、CVSSubversion によって MS-ACCESS のデータベースを管理することができるようになる。

レジストリに設定する値については SCCI のドキュメントなんかを参照してもらいたいところだが、たとえば、Team Foundation Server 2005/2008 のソース管理を利用する場合には、

SOFTWARE\Microsoft\Team Foundation Server MSSCCI Provider

と、プロバイダの登録情報キーのあるレジストリ位置を設定する。*2

少人数による同時開発程度であれば、Subversion にデータベースを登録して複数人で同時に開発してもだいたい大丈夫なようだ。MS-ACCESS 2007 の場合、フォームやレポートのデザイン、テーブルデザインやテーブルデータは UTF16LE のテキストファイルに保存される*3ため、Visual Souce Safe 6 等の unicode text をバイナリファイルとして扱うようなプロバイダを利用する場合にはリポジトリの肥大化などに注意が必要になる。

*1:私のググりのヘタさは定評があるので、うまい人なら見つかるかもしれない

*2:要望があれば、いくつかの SCCI プロバイダの設定値一覧なんか書いてみるかもしれない

*3:VB6 の .frm ファイルと同じ形式