Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > InfoPath

InfoPath Forum d'entraide sur InfoPath (concevoir des formulaires basés sur XML)

Réponse
 
Outils de la discussion
Vieux 24/06/2008, 18h15   #1 (permalink)
Invité régulier
 
Date d'inscription: mars 2008
Messages: 12
Par défaut Infopath, requete SQL lente

Bonjour à tous,
J'ai conçus un formulaire infopath qui recupère les valeurs des differents champs de plusieurs tables SQL serveur 2005.

Je passe actuellement par un webservice qui m'execute des procedures stockées sur le serveur SQL pour me renvoyer ces valeurs dans infopath.

Sharepoint et le formulaire sont hebergés sur un autre serveur, le serveur Web.

Tout ceci fonctionne très bien mais c'est assez lent.

Je travail sur des tables avec plusieurs millions de lignes.

J'ai egalement un BDC dans sharepoint qui me fait la meme requete pour trouver un client par exemple.
C'etait egalement assez lent.

Dans le BDC, je peux directement appeler une procedure stockée, ce que j'ai fais et la difference se fait sentir
Ma recherche est pratiquement instantannée par rapport au Select qui etait utilisé avant.

Tout ca pour vous demander si en faisant appel aux procedures stockées directement dans infopath, cela accelererai-t-il la recherche ?

Si oui comment faire appel à une procedure stockée dans infopath ?

J'ai deja un debut de code trouvé sur internet mais je code en C# et l'exemple est en jscript.

Code :
 
var nclient = XDocument.DOM.selectSingleNode("/dfs:myFields/my:nclient").text;
 
//Set the Command for the Query Adapter of the Data Source. Incorporate the 
//parameter values that you want to use. 
XDocument.QueryAdapter.Command = 'execute "dbo"."GetClient" ' + nclient; 
 
//Query the Data Source. 
XDocument.Query();
Pourriez vous m'indiquer les assembly à ajouter (using System.Xml.linq, etc...)
Car pour Xdocument je n'ai pas acces à la fonction QueryAdapter.

De plus ce code est sur un evenement OnClick.
Est-il possible de l'executer autrement ? je souhaiterai l'executer lorsqu un champs texte ou un menu deroulant est modifier.

Je souhaite surtout accelerer l'utilisation de mon formulaire.

D'avance Merci à vous
Haziel est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/06/2008, 09h39   #2 (permalink)
Membre du Club
 
Date d'inscription: juillet 2007
Localisation: Cote Ouest
Âge: 25
Messages: 107
Par défaut

Bonjour,

Tu utilise quelle version de Visual Studio et quelle version d'infopath?
Si tu es en 2003, il faut que tu travailles sur le thisXDocument.QueryAdapter alors...


Pour ne pas mettre le code uniquement sur le click:
- Clic droit sur ton champ,
- Va dans validation de données,
- Choisi un évènement et clique sur modifier.

Tu auras ainsi accès aux évènements du champ tel que OnBeforeChange, OnAfterChange...

Bonne journée.
billout rm est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/06/2008, 00h04   #3 (permalink)
Invité régulier
 
Date d'inscription: mars 2008
Messages: 12
Par défaut

Je suis sur Infopath 2007 et VS 2008 (sql server 2005 pour info)

J'essaye actuellement de manipuler les données que je reçois par une seul requête SQL qui me récupère tout puis les filtrer par les DataSet plutôt que de faire Plusieurs requêtes SQL.

Je ne parviens pas à le faire pour le moment.
Je crée un dataview qui me filtre les données mais je ne comprends pas comment l'afficher...

Mes filtres se basent sur un nclient, qui me récupère les infos client, puis ces factures et enfin les produits par factures.

Les infos client ainsi que les factures c'est ok par infopath.
Je veux maintenant choisir une facture (dans un menu deroulant) et me remplir un autre menu déroulant avec les produits de la factures.

J'y parviens bien par procédures stockées via web service mais pour optimiser la rapidité du formulaire il serait intéressant de pouvoir filtrer des données que j'ai deja dans les données du formulaire.
Haziel est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MS-OFFICEFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBAACCESS

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > InfoPath



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 21h33.


Publiez vos articles, tutoriels et cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter
Copyright 2000-2008 www.developpez.com - Legal informations