How do I connect to an older sql database using LocalDb in VS 2012?
Solution 1
From my experience of a few instants ago:
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! :DOpen SQL Server Management Studio, select the
Databases
node, right click it and selectAttach...
.Provide the path for the
.mdf
file, click OK and then you should be good to go.Now inside
Visual Studio 2012
, openServer Explorer
(menuView -> Server Explorer
), right clickData Connections
and then selectAdd Connection...
. InServer name:
put(localdb)\v11.0
and inConnect to a database:
select the database you attached previously.Right click the
Data Connection
just added inSolution Explorer
and selectProperties
. Copy theConnection String
property and replace theWeb.Config
orApp.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.
Solution 2
my simple way:
- go to VisualStadio 2012
- In Server Explorer Windows
- open Data Connections
- Right click on ASPNETDB.MDF
- click on Modify Connection...
- a new windows open for you ... you just click OK
- if other windows open for you click Yes
- FINISH ( be Happy ) :D
Solution 3
You can just do:
USE [master]
GO
CREATE DATABASE [database_name] ON
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\<database name>.mdf' ),
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\<database name>.ldf' )
FOR ATTACH ;
GO
As described here: http://technet.microsoft.com/en-us/library/ms165673%28v=sql.105%29.aspx
Related videos on Youtube
ATL_DEV
Updated on July 09, 2022Comments
-
ATL_DEV almost 2 years
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 http://go.microsoft.com/fwlink/?LinkId=235986
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?
-
Leniel Maccaferri almost 11 yearsI totally agree with you about not having a clickable link in the error dialog. It's frustrating, really! C'mon Microsoft... One has to type that link in the browser window. OMG.
-
-
Patrick Borkowicz over 8 yearsThis worked for me. I up-voted before even trying it when I read "That's a complete lie!". So true.
-
IndieRok about 8 yearsThis works also for Visual Studio 2013, for those wondering. Thank you!
-
stack man almost 8 yearsYou´re awesome buddy, many thanks! However, when I choose Tables-> Add New Table, nothing happens, do you know why?
-
Echo Train over 7 yearsI'm happy! Thank you!
-
JkAlombro about 7 yearsthis is what I got when i went to download center. "We are sorry, the page you requested cannot be found."
-
Andrew Day over 5 years@Omid Finish (be Happy) :D - yes very happy indeed, thanks a million