2013-06-17 1 views
0

J'ai construit mon programme avec C# et le problème est que j'utilise "Fichier de base de données Microsoft SQL Server (SqlClient)" pour mon DB et je voulais le rendre portable parce que si je prendre tout le projet (sln) et le donner à mon ami pour l'exécuter le chemin de la base de données est faux bien sûr ..Fichier de base de données Microsoft SQL Server (SqlClient) Portable String

J'ai donc le database.mdf dans mon répertoire du projet C# donc ma question est, savez-vous un moyen de le faire.

j'ai essayer de la chaîne de connexion des motifs,

Data Source=.\SQLEXPRESS;AttachDbFilename="D:\blabla\blablaa\blablaaa\blablaaaa\WindowsFormsApplication2\WindowsFormsApplication2\WindowsFormsApplication2\WindowsFormsApplication2\Database1.mdf";Integrated Security=True;User Instance=True 

donc je l'ai fait comme ça

Data Source=.\SQLEXPRESS;AttachDbFilename="..\WindowsFormsApplication2\WindowsFormsApplication2\WindowsFormsApplication2\WindowsFormsApplication2\Database1.mdf";Integrated Security=True;User Instance=True 

ou

Data Source=.\SQLEXPRESS;AttachDbFilename="..\Database1.mdf";Integrated Security=True;User Instance=True 

Toutes les suggestions.

+0

Peut-être '| DataDirectory |'? http://stackoverflow.com/questions/1409358/ado-net-datadirectory-where-is-this-documented –

Répondre

0

Si vous êtes désireux de le lancer depuis une clé USB par exemple, et votre application est en cours d'exécution sur le bâton de mémoire, alors vous feriez bien d'obtenir l'emplacement actuel de l'application:

Assembly.GetExecutingAssembly () .Localisation

Vous pouvez ensuite utiliser ceci pour trouver l'emplacement du fichier de base de données si cela sera également corrigé.

Questions connexes