2010-07-03 6 views
3

Alors, voici ce qui se passe. Je viens de créer et de "publier" un outil de gestion du personnel dans Visual C#. Au cours du développement, j'ai utilisé une chaîne enregistrée dans Properties.Settings.Default pour me connecter à la base de données que j'utilisais pour le développement. Maintenant que la solution est publiée et prête à partir, le patron veut se connecter à la vraie base de données du personnel. J'avais l'impression que la connexion à la nouvelle base de données serait aussi simple que de changer la chaîne de connexion dans un fichier de propriétés quelque part. Malheureusement, je n'arrive pas à trouver le bon fichier/chaîne pour me connecter à la base de données que je veux. Des idées?Comment connecter la solution Visual C# publiée à une autre base de données

Merci! JB

Répondre

2

Regardez ici:

Connection Strings and Configuration Files

En utilisant un fichier de configuration il vous suffit de changer la chaîne de connexion du fichier de configuration une fois que votre application a été déployée.

est ici une façon de faire ce que vous voulez:

De http://www.dreamincode.net/forums/topic/70745-connection-string-in-appconfig/

Le contenu de votre fichier de configuration:

<connectionStrings > 
<add name="YourName" 
connectionString="Provider=msdaora;Data Source=MyOracleDB;Persist Security Info=False;Integrated Security=Yes;" 
providerName="System.Data.OracleClient" /> 
</connectionStrings> 

méthode pour obtenir la chaîne de connexion lors de l'exécution:

public static string GetConnectionString(string strConnection) 
{ 
//Declare a string to hold the connection string 
string sReturn = new string(""); 
//Check to see if they provided a connection string name 
if (!string.IsNullOrEmpty(strConnection)) 
{ 
    //Retrieve the connection string fromt he app.config 
    sReturn = ConfigurationManager.ConnectionStrings(strConnection).ConnectionString; 
} 
else 
{ 
    //Since they didnt provide the name of the connection string 
    //just grab the default on from app.config 
    sReturn = ConfigurationManager.ConnectionStrings("YourConnectionString").ConnectionString; 
} 
//Return the connection string to the calling method 
return sReturn; 
} 

En utilisant la méthode:

string connectionString = GetConnectionString("YourName"); 
+0

Cool. Je vais essayer dès que possible et revenir avec vous. – JnBrymn

+0

Ok, j'ai essayé et échoué ... * mais * je suis proche. J'ai le fichier app.config qui fait référence aux chaînes de connexion dans le fichier externe via ''. Lorsque je débogue le code, je peux placer le fichier connections.config dans le répertoire Debug \ bin et tout fonctionne correctement. Mais quand je vais le publier, la solution ne place pas connections.config dans le bon répertoire ... et je ne sais pas non plus ce qu'est ce répertoire. Où dois-je placer connections.config lors de la publication de la solution? – JnBrymn

+0

Regardez ici: http://msdn.microsoft.com/en-us/library/0c6xyb66.aspx Vous devez copier le fichier connections.config dans le répertoire de sortie. –

0

J'ai dû modifier l'entrée dans le fichier texte Properties.Settings, recompiler et redéployer pour obtenir la nouvelle chaîne de connexion à prendre. À l'avenir, envisagez de lire votre chaîne de connexion à partir de votre fichier .config sous le noeud ConnectionStrings ou AppSettings. Lorsque vous le stockez là, vous avez simplement besoin de changer un fichier texte de production pour changer votre base de données ...

Questions connexes