Partners and customers have been expressing an interest in using TMCore 2007 on Microsoft SQL Server 2005 Express Edition. Networked Planet are happy to announce that TMCore does function as expected on this platform. However, there are some extra steps you have to perform during configuration as the Express edition is not quite so “out of the box” as Microsoft SQL Server.

Microsoft SQL Server 2005 Express Edition (henceforth MSSQLEE) that is free to download, use and embed. You can download it from Microsoft here.

Once you have downloaded MSQLEE, you’ll notice very quickly that this is definitely not the same as regular SQL Server. Most immediately noticable are the lack of the Enterprise Manager and Query Analyzer tools. Fortunately Microsoft have made available, as a separate download, SQL Server 2005 Management Studio Express, also this article, Managing SQL Server Express with SQL Server 2005 Management Studio Express Editon, may give you some useful insights in how to use this utility.

Once you’ve downloaded and installed these, the next steps are to:

  1. Create the topicmap database, using Studio Express.
  2. Use Studio Express to load the database schema, tmcore.sql, in to the database. See note below.

Note: When you execute tmcore.sql against the database you will see the following output:

(1 row(s) affected)

(1 row(s) affected)

Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself.

This is a known issue which does not cause any problems with the operation of TMCore (you will see the same message when using the non-express edition of SQL Server 2005.

If using MS SQL Server this would be the end of configuration, however for MSSQLEE you will hit errors errors fairly quickly. If you try to use TMEditor or TMWS you will most likely encounter the following error:

An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

By default MSSQLEE does not accept remote connections. To enable this, you can use the SQL Server Surface Area Configuration utility to set MSSQLEE to be Using both TCP/IP and named pipes under the Database Engine -> Remote Connections sections. You may also need to enable SQL Server Browsing and open the firewall to accept connections on the required TCP/UDP ports. See this Microsoft Knowledge Base Article KB914277 for a full description on how to do this.

Finally, the connection string in TMEditor and TMWS’s web.config files will need updating to use a form that MSSQLEE will understand and tolerate. It will be something in this form:

<add key="networkedplanet.tmcore.dbconnect" value="Data Source=SERVER NAME;Integrated Security=SSPI; Initial Catalog=topicmap" />

Where servername is of the form: machine nameservice name. Therefore if your host name is DEMETER, and you’re using the default service name of SQLEXPRESS, you full connection string will be:

<add key="networkedplanet.tmcore.dbconnect" value="Data Source=DEMETERSQLEXPRESS;Integrated Security=SSPI; Initial Catalog=topicmap" />

Once these steps are followed, and replicated for your own applications, you should find that SQL Server Express provides a quick and convenient way to use TMCore.

If you’d like to add your own hints and tips for using MSSQLEE then please comment below. If you encounter any problems with this guide or you think we should add some more information, then please e-mail us at contact@networkedplanet.com.