user148298 user148298 - 11 months ago 73
SQL Question

How do I connect to an older sql database using LocalDb in VS 2012?

I am trying to construct a connection string to a 2008 SQL Express database file in VS 2012. I am getting an error dialog:

This database file is not compatible with the current instance of SQL
Server. To resolve this issue, you must upgrade the database file by
creating a new data connection, or you must modify the existing
connection to this database file. For more information, see

I followed the link to Microsoft's always wonderfully helpful documentation (cough, cough..). When I went through the upgrade database function, I was not presented with a prompt to upgrade the file. I was really hoping to use LocalDb instead of having to do a install of SQL Express 2008. Any thoughts?

OTHER: Why hasn't Visual Studio implemented clicking on links in the error dialogs after all these years? Is it really hard to implement?

Answer Source

From my experience of a few instants ago:

  1. Forget about trying to open the old SQL Server Express .mdf file in Visual Studio 2012. During the conversion process of an old VS 2010 solution to VS 2012 it tells you can do that by just double clicking the database file and upgrade it to use LocalDb instead. That's a complete lie! :D

  2. Open SQL Server Management Studio, select the Databases node, right click it and select Attach....

  3. Provide the path for the .mdf file, click OK and then you should be good to go.

  4. Now inside Visual Studio 2012, open Server Explorer (menu View -> Server Explorer), right click Data Connections and then select Add Connection.... In Server name: put (localdb)\v11.0 and in Connect to a database: select the database you attached previously.

  5. Right click the Data Connection just added in Solution Explorer and select Properties. Copy the Connection String property and replace the Web.Config or App.Config one with this value.

Note: In SQL Server Management Studio I got an error while trying to attach an old .mdf file I got from this sample project from DayPilot: Scheduler for ASP.NET MVC 4 Razor (C#, VB.NET, SQL Server). It was related to a path issue regarding the .log file that accompanies the .mdf database file. I just selected the .log file entry in the Attach... dialog window and removed it. Then tried to attach the database again and it worked.