Answer: When it is a Microsoft CRM 3.0 database.
The Microsoft CRM is built using a SQL Server database. So that means anyone who can connect to the database can perform database operations on it. This also means that developers could build applications or user interfaces to the data without using the CRM user interface. Any user with a valid SQL Server account can connect to a SQL Server database using ADO, ADO.NET, ODBC, OLE DB, JDBC, etc.
Sometimes, you may need to write a user interface outside of the Microsoft CRM user interface. For example, if you just want to make a simple web page that allows someone to submit a few items of data (such as a “contact us” page) and then insert it into the CRM database. Otherwise, you would need to teach the user how to use the CRM user interface. Also, maybe you’d like to display a list of items on an intranet web page that makes reporting quick, easy, and accessible. Sometimes it’s just not feasible to have every user that may supply or view data use the Microsoft CRM user interface.
Another reason (why I’m writing this) is that you may have another system that just needs a little bit of data from the CRM’s database. The other system may have very little to do with the CRM, but just needs a few values from the database. The other system may even have its own database that might just need to refresh the shared values at a specific interval, so there’s no direct querying of the CRM database.
The easiest option would be to link the SQL Servers (the CRM and other database). Another option would be to use a third-party to map the fields and migrate the data at a standard interval (such as nightly). Lastly, you could just write batch files to perform SELECT, INSERT, UPDATE, etc. statements to keep the two systems in sync.
Well if you’re thinking about any of those options then that’s when the “Microsoft Dynamics CRM 3.0: External Connector” is needed. Basically, it is an approval letter saying that it is okay for you to connect to the CRM database. The CRM license costs about $2,000 USD per server and each user license costs about $1,000 USD each. The External Connector license costs about $15,000 USD regardless if you are building a complete user interface to replace the CRM or if you are just copying some values from one database to another database.
So of course, there’s a lot of confusion over the license. Does this mean that if I send an email to someone that’s not a CRM user, then I require a an external license since the end-user is does not have a valid CRM CAL? What if someone copies data from CRM database into an Excel spreadsheet and then emails it? What if a CRM GUID (PK) value is stored in another database that is used to build a hyperlink to the CRM user interface that only valid CRM CAL users can access? What if the values are entered manually into another database by a user that has a valid CRM CAL. would other users be able to view that value even though it is not directly connected to the CRM database?