2009-10-26 4 views
2

J'ai ce DB SQL dans mon application, qui est inclus dans le répertoire de mon application. Lors du débogage de son OK, mais lorsqu'il est publié et exécuté avec setup.exe, il récupère "fichier introuvable" dans le répertoire temporaire à partir duquel l'application est exécutée. Je voudrais courir de l'emplacement standard, mais je ne sais pas comment le changer.SQLCe db locale dans temp- path dans connectionstring?

J'utilise cette chaîne:

SqlCeConnection connection = new SqlCeConnection("Data Source=database.sdf;Persist Security Info=False;"); 

Quand je lance setup.exe, l'application ne démarre jamais, indiquant que dans son répertoire temporaire le fichier db n'a pas été trouvé. Quand j'exécute app.exe, cela fonctionne. Je ne comprends pas ... :(

EDIT: Je vois que dans les paramètres du projet VS, il y a chaîne de connexion et il est « source de données = | DataDirectory | \ Database.sdf »

Le chemin d'accès doit être quelque chose comme répertoire local Merci

Répondre

1

Construisez votre chaîne de connexion dynamique quelque chose comme ceci:!.

string connString = string.Format("Data Source={0}; Persist Security Info=False;", 
    Path.Combine(Application.StartupPath, "database.sdf"));