I've been struggling for some time now to be able to use the built-in functions in Visual Studio 2008 to handle *.mdf
database files with SQL Server 2008 Express. I'm running on an x64-based system, and I've read that there is a known problem with this setup, but the hotfix has not solved my problems.
Basically, what happens is that when I try to add a new *.mdf
file to the App_Data
folder of a project, I get an error message saying:
Connections to SQL Server files (*.mdf) require SQL Server Express 2005 to function properly. Please verify the installation of the component or download from the URL: http://go.microsoft.com/fwlink/?LinkId=49251
My (unsuccessful) steps to solve this:
- Uninstall all possible associated programs to Visual Studio, SQL Server or .NET Framework (which left .NET 2.0 Compact Framework and .NET 3.5 Compact Framework, and nothing else .NET related, installed).
- Reboot.
- Install .NET 3.5 SP1, SQL Server 2008 Express and SQL Server Management Studio 2008 Express via the Web Platform Installer 2.0 (Beta).
- Reboot.
- Install Visual Studio 2008 Professional from disc.
- Reboot.
- Install Visual Studio 2008 Service Pack 1.
- Reboot.
- Install hotfix.
- Reboot.
- Start VS, create new Web site and try to add database. Still get the error message...
When I look in the Help/About
dialog, the hotfix shows up among applied updates. I have also checked and double-checked that the SQL Server instance name is correctly set in Visual Studio (I copy-pasted the instance name from the login screen in SSMS).
Why does the hotfix not solve my problems? Am I doing things in the wrong order, or do I have the wrong software versions somewhere?
According to the KB article, the problem is that Visual Studio doesn't correctly detect "some registry keys" - but nothing is said about which keys. Does anyone know how to fix this manually?
Oh, and yes - I've seen this post. I know I could just "downgrade" to the x86 version of SQL Server, but I really want to make this work with the x64 version (if nothing else, just because it's supposed to work...), so that solution doesn't really solve my problems. Please don't close this as a duplicate.
Just out of curiousity what are you getting out of developing in VS against a local x64 SQL Server ?
It's generally accepted that developing databases for x86 should be identical as for that for x64. Thus you should be able to run x86 SQL Server Express and not lose anything.
Lastly have you tried Visual Studio 2010?
Did you have any pre-prod releases of software (i.e. .NET framework, SQL, Visual Studio) on your system prior to VS? I know that Visual Studio had a bug that couldn't connect because of CTP/beta products on system. Another thing that drives me nuts is installing stuff in proper order in regards to VS products and .NET framework.
VS 2008 has an option to install SQL Server 2008 Express with it. I would try blowing away all things SQL/VS 2008 related (yes, again...) and reinstall VS2008 with the option selected to also install SQL 2008 Express.