Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1578 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#][CR] Pb d'identification lors de l'impression du rapport

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#][CR] Pb d'identification lors de l'impression du rapport

n°823991
Remigio
Radio Flip, 72.8
Posté le 16-08-2004 à 10:29:07  profilanswer
 

Bonjour,
 
je créé un rapport Crystal report qui va chercher des données dans une Vue ORACLE.
 
Lors de l'affichage du rapport, je passe mes identifiants de connexion comme suit :
 

Code :
  1. ConnectionInfo oCnInfo = new ConnectionInfo ();
  2. oCnInfo.ServerName = instance;
  3. oCnInfo.DatabaseName = "";
  4. oCnInfo.UserID = "dbacvecli";
  5. oCnInfo.Password = "cve";


 
tout fonctionne tres bien su r mon poste de developpement.
Seulement, lorsque je déploie l'application, a l'affichage du rapport, une fenetre me demande mes identifiants et meme en les rentrant, le rapport ne s'affiche pas (la fenetre d'identification revient sans cesse)
 
evidement j'ai bien un client oracle sur la machine cliente avec le bon tns et je peux me connecter en sql+ au serveur.
 
savez v ous ce qui peut clocher ? ca ne serait pas une dll manquante par hasard ? merci

mood
Publicité
Posté le 16-08-2004 à 10:29:07  profilanswer
 

n°824329
Styx0
Aware, abware !
Posté le 16-08-2004 à 16:34:06  profilanswer
 

J'ai déjà eu un probleme similaire, il faut que tu changes toutes les connections infos de tes tables : ca donne un code dans le genre - à mettre avant le load de ton CR :
 

Code :
  1. objLogOn = New CrystalShared.TableLogOnInfo()
  2.         For Each objTable In p_Report.Database.Tables
  3.             ' Extrait l'objet TableLogOnInfo.
  4.             objLogOn = objTable.LogOnInfo
  5.             objLogOn.ConnectionInfo.ServerName = g_DBServer
  6.             objLogOn.ConnectionInfo.DatabaseName = g_DBDatabase
  7.             ' Appliquer les informations de connexion à la table.
  8.             objTable.ApplyLogOnInfo(objLogOn)
  9.             ' Indication du nouveau nom de table (rajout de la coordonnée de base)
  10.             objTable.Location = g_DBDatabase & ".dbo." & objTable.Location
  11.         Next


avec p_Report l'état en cours, les variables g_DB sont mes variables de connexion SQL

n°824370
Remigio
Radio Flip, 72.8
Posté le 16-08-2004 à 17:05:29  profilanswer
 

ok j'essaye demain qd je retourne au boulot merci :)


---------------
Everybody can succeed, all you need is to believe
n°825698
Remigio
Radio Flip, 72.8
Posté le 18-08-2004 à 11:17:41  profilanswer
 

ben apparement c'est ce que je faisais déja (enfin ce n'est pas moi qui ai écrit le code)
 
voici le code exact de l'affichage du rapport :
 

Code :
  1. Report.Refresh();
  2.   Report.SetDatabaseLogon("dbacvecli", "cve" );
  3.   Database oDb;
  4.   Tables oTables;
  5.   Table oTable;
  6.   TableLogOnInfo tliCurrent;
  7.   ConnectionInfo oCnInfo = new ConnectionInfo ();
  8.   // Setup the connection information structure to be used
  9.   // to log onto the datasource for the report.
  10.   oCnInfo.ServerName = instance;
  11.   oCnInfo.DatabaseName = "";
  12.   oCnInfo.UserID = "dbacvecli";
  13.   oCnInfo.Password = "cve";
  14.   //Get the table information from the report
  15.   //CRViewer.ParameterFieldInfo = paramFields;
  16.   //Report.Database
  17.   oDb = Report.Database;
  18.   oTables = oDb.Tables;
  19.   for (int i = 0; i < oTables.Count; i++)
  20.   {
  21.    oTable = oTables [i];
  22.    tliCurrent = oTable.LogOnInfo;
  23.    //tliCurrent.ConnectionInfo = oCnInfo;
  24.    tliCurrent.ConnectionInfo.ServerName = instance;
  25.    tliCurrent.ConnectionInfo.DatabaseName = "";
  26.    oTable.ApplyLogOnInfo(tliCurrent);
  27.   }
  28.   ParameterFieldDefinitions crParameterFieldDefinitions = null;
  29.   ParameterValues crParameterValues = null;
  30.   ParameterDiscreteValue crParameterDiscreteValue = null;
  31.   crParameterFieldDefinitions = Report.DataDefinition.ParameterFields;
  32.   if (paramFields != null)
  33.   {
  34.    IDictionaryEnumerator en = paramFields.GetEnumerator();
  35.    while(en.MoveNext())
  36.    {
  37.     // Name of the parameter
  38.     ParameterFieldDefinition crParameterFieldDefinition = null;
  39.     Console.WriteLine(crParameterFieldDefinitions[0].Name);
  40.     crParameterFieldDefinition = crParameterFieldDefinitions[en.Key.ToString()];
  41.     // Set discrete value
  42.     crParameterDiscreteValue = new ParameterDiscreteValue();
  43.     crParameterDiscreteValue.Value = en.Value;
  44.     // Add parameter value
  45.     crParameterValues = new ParameterValues();
  46.     crParameterValues = crParameterFieldDefinition.CurrentValues;
  47.     crParameterValues.Add(crParameterDiscreteValue);
  48.     // Apply the current value to the parameter definition
  49.     crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
  50.    }
  51.   }
  52.   CRViewer.ReportSource = Report;


 
Pour moi tout est correct ... je pense vraiment que c'est soit une dll manquante sur le poste client soit un bug MS ....
 
qu'en pensez vous ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#][CR] Pb d'identification lors de l'impression du rapport

 

Sujets relatifs
impression differente de l'ecranImpression d'une applet sous mac => Pb
forum php et module d'identification[jsp]ptite question en rapport avec les pop up
Taille d'une image à l'impressionimpression caracteres speciaux
Probleme d'impression XMLimpression les couleurs d un tableau n apparaisse pas
[ASP - HTML - JS] Probleme d'impression d'une page web[RESOLU] while par rapport à la date
Plus de sujets relatifs à : [C#][CR] Pb d'identification lors de l'impression du rapport


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR