Reputation: 856
So I have made a set up file and install it to target computer which has no .Net 4.0 or SQL Server 2008.
I add them as prerequisites and setup downloaded from the internet the .Net 4.0 and SQL Server 2008. The setup finished successfully.
When I run the program, it gives an exception:
cannot open xxxxxx.mdf file. it is version 650. and your is xxx...
I searched it out and learned that SQL Server installed on target computer is lower than the database file I created (the database file was created in SQL Server 2008 R2).
So, no connections can be opened.
To solve this, What can I do?
Thank you...
Upvotes: 0
Views: 954
Reputation: 216303
There is no way to open an MDF file with a lower version of SQLServer.
Of course you could add as a prerequisite SQLServer 2008 R2 (express or full).
But the best course is to distribute a SQL Script containing schema and data.
This could be done using SqlServer Management Studio,
In the last page of the wizard you could find the button Advanced
Clicking on it will give you full control on what to put inside the script.
The script could be distributed with your application with instructions on how to execute on the target machine.
Upvotes: 0
Reputation: 280350
You can't attach a 2008 R2 database to a 2008 instance - you can only go forward, not backward. So either install 2008 R2 at the destination, or you'll have to re-create your database in 2008. If you install 2008 locally alongside 2008 R2, you can create an empty database in 2008 and use tools like Red-Gate's SQL Compare / SQL Data Compare, or the schema compare feature in SQL Server Data Tools, to translate your database relatively quickly.
Upvotes: 2