Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

publish a project with local database

Tags:

c#

I created a Windows form applicatie with a local database (.mdf) to store and retrieve data from. the database where I connect to is: C:\ProgramData\project\Database.mdf

when I publish my project and place my database file in that folder on a other pc and try to run it I get the error unable to locate a local database runtime installation

my connection string is:

conn.ConnectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=""C:\ProgramData\project\Database.mdf"";Integrated Security=True";

so could somebody help me with this problem? because everything runs fine on my own pc

like image 282
Ewout Avatar asked Feb 04 '15 12:02

Ewout


1 Answers

Did you include the database as "Application File"? If not do the following (at least this is how I am doing it):

Project -> Properties -> Publish -> Application Files

Here set the values for your .mdf and the xx_log.ldf as follows:

enter image description here

Now still in the Publish tab go on Prerequisites. Here you have to check the following depending on what database you are using.

enter image description here

This will download SQL Server Express for the client who is installing your application.

You will also have to change the connection string to a generic path. I suppose the database lies somewhere inside your project folder /bin I guess, not sure anymore. So adjust your connection string to something like:

Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True

I therfor recommend using a resource file or app.config

But basically i think your problem is that the pc you are installing on does not have SQL Server installed. So just follow the steps above in Prerequisites. The other steps will enable you to deploy the database to the project folder without moving it to a certain folder manually.

I hope this helps.

like image 59
チーズパン Avatar answered Nov 10 '22 18:11

チーズパン