Bonjour à tous,
Je suis en train de faire un projet de déploiement pour une application.
Cette application est acompagné d'une base de données SQL Server.
J'ai alors créer une classe dans mon projet qui hérite de la classe
"System.Configuration.Install.Installer", j'ai fait un
"public override void Install(IDictionary stateSaver)" et j'y appel la méthode
"RequeteSQL" qui doit me retourner un ensemble de script se trouvant dans un fichier texte.
Une fois les scripts retourné, je fait une execution de celui ci via un sqlcommand.
Le soucis est qu'au moment du retour de la méthode ci dessous, l'installation m'indique qu'il y a une paramètre incorrect. Et en regardant de plus près, au moement de faire "strReturn = monReader.ReadToEnd();" il ne me retourne rien (pas de chaine de caratère vide ou de null).
J'ai essayer de mettre le chemin en dur mais j'ai le même soucis. J'ai fait un petit programme utilisant les mêmes commandes que ci dessous et le même fichier et cela fonctionne.
Je ne comprend pas d'où pex venir le soucis.
Je vous remercie d'avance des réponses que vous m'apporterez.
Je dois le livrer avant mercredi prochain et je ne sais plus quoi faire.
private string RequeteSQL(string Name)
{
string strReturn="";
try
{
//Récupère l'assembly de l'application
System.Reflection.Assembly Asm = System.Reflection.Assembly.GetExecutingAssembly();
//Récupère le chemin du fichier contenant le script SQL
string chemin = Asm.Location.Substring(0, Asm.Location.Length - Asm.GetName().Name.Length - 8) + Name;
string path = @chemin;
StreamReader monReader = new StreamReader(path);
//Lecture du fichier SQL
strReturn = monReader.ReadToEnd();
}
catch(Exception ex)
{
eventLogPerso.WriteEntry("Méthode RequeteSQL : "+ ex.Message);
}
return strReturn;
}
Amicalement,
Christophe