There has been some discussion on the Blackbaud forums and on the Blackbus forum about using a second non-production database. This article will highlight some ways of doing this.
Before I begin I want to categorically state that if you believe what I am writing in this post breaks your Blackbaud contract then do not do it. A long time ago I was told by Blackbaud that it was perfectly acceptable and I hold by that but I know that others who have been told otherwise (including various support people at Blackbaud who will give you a different ruling depending on who you speak to!) Just to reiterate I am in no way encouraging you to break the law!
As users of The Raiser’s Edge you are (or your database administrators are) responsible for the maintenance and back up of your SQL Server database. Consequently it would be irresponsible to write code and use it against the live database. One way of testing your code is to use it against the Sample database that Blackbaud supplies. However this lacks many of the organisation specific features that your own DB holds and in many cases makes it impossible to perform a realistic test.
By restoring a backup database into SQL Server you can use the back up to test against. You can either restore the database to the same SQL Server instance or another one on another machine. If you are feeling a bit paranoid then this may be a better option as you can be certain that you are not logging into the live version.
One of the problems that people have had is that the Blackbaud Management Console (BMC) does not allow duplicate serial numbers. That is why when I do not need an organisation role (when I am using the extra database to test my own code) I rarely use the BMC. However if you do install the database on a separate server you can use the BMC (and this is where it gets a bit contentious. I was told by my Blackbaud account manager who had himself asked others that if you have the API and VBA module you could have a non-production server with RE on it without charge. However others have been told that this costs)
If you do not use the BMC then how do you access your instance of Raiser’s Edge. You edit the registry of course! Another disclaimer… If you edit the registry incorrectly then you could ruin your installation of Raiser’s Edge (just redeploy it from the server) or worse of Windows. So if you are not sure what you are doing do not do it.
You can open the registry by going to run on the start menu and typing in
regedit.This will bring up the registry editor. In the tree browse down HKEY_LOCAL_MACHINE, Software. There are two branches here that we are interested Blackbaud and ODBC.
Let’s look at ODBC first. These are your database settings. Opening up this branch we are most interested in ODBC.INI. There you will see (if you have a standard installation of RE) RE7_1 and RE7_50. The first represents your live database and the second the sample database. It is quiet easy to copy the settings in RE7_1 for a new database entry. You would want to copy each element of the tree structure but call it something else. It does not need to be RE7_2 but that is the most obvious in this case. The two most important values here (fields on the right side of the regedit window) are for server and for database. You will want to name these according to your backed up database installation.
Now let’s look at the Blackbaud branch. Under this branch there are several keys. The ones of interest to us are the REINI_1 and the REINI_50. Again these represent the live and the sample database. Here we want to copy the keys. This time it does seem to make a difference if they follow the pattern so use something logical e.g. REINI_2. Looking at the values available this time there are two of interest; the name of the DSN i.e. the ODBC reference (RE7_2 for this example) and the name that should appear in the RE log in screen. This can be any value you like.
That is more or less it. You may have some rights issues if you are not an administrator on the machine you are trying to access (if it is not a database server) but with a bit of tweaking you should be able to get into your backed up version of live in order to test your code.
One other point to note. If you make changes to your live BMC (e.g. a new patch or some other change), the BMC will push the changes out to each client. This will mean that your settings will be restored to those of the BMC’s settings. The ODBC settings will remain but the REINI entries will be removed. To avoid this, you should either export your registry settings so that they can be imported or alternatively under the HKEY_LOCAL_MACHINESOFTWAREBlackbaudRaisers Edge7.0 key you can change the InstallSource to an invalid address. That way your client will not look to update itself. Remember that any upgrades made to the BMC will not be reflected in your installation so you will have to manually deploy the changes from the deploy directory on the server.