2012-05-31 3 views
2

Je dois pouvoir renvoyer des données à partir de 4000 clients. Ces 4000 clients doivent malheureusement être dans le paramètre multi-valeur afin que je puisse sélectionner par exemple 10 clients différents de la liste et il retournera alors ses données (avec filtre supplémentaire, donc il gagne du temps en faisant défiler & vers le bas). Corrigez-moi si je me trompe, le paramètre multi-valeur ne gère que 1000 valeurs au maximum, bien que je puisse voir toutes les 4000 valeurs dans la liste, il ne renverra pas toutes les 4000 (il le fait dans l'aperçu, pas après son déploiement). J'ai essayé de l'écraser à 900 et il retournera tous les 900. Je comprends qu'il n'est pas rationnel pour un utilisateur de cocher des cases plus que cela, mais je ne serai toujours pas en mesure de retourner le reste du 3000+ les clients. Quelle est la meilleure façon de le faire s'il vous plaît?Grand nombre de valeurs dans un paramètre à plusieurs valeurs

+0

Pouvez-vous s'il vous plaît expliquer le problème? votre description est mélangée avec le problème d'une manière qui est difficile à comprendre, tnx –

Répondre

2

La limite de 1000 lignes vient de déclarer des choses comme ceci:

DECLARE @myTable MyTableType 
INSERT INTO @myTable VALUES (1), VALUES (2), VALUES (3) 
EXEC myProc @myTable 

qui est connu comme la syntaxe ligne constructeur, et il y a une limite là.

Vous pouvez contourner ce problème en utilisant des insertions simples ou en regroupant les constructeurs de lignes. Bien que cela semble être très mauvais pour la performance, SQL Server crée ce qu'on appelle un «plan trivial» - et vous pouvez en lire plus à ce sujet sur l'excellent blog de Bob B - here et here.

3

Nous avons aussi sommes même problème rencontré sur notre environnement de développement SQL Server 2008 R2 SP1 .. Mais nous avons trouvé la solution: <...>\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager\Web.config intérieur ajouter la clé:

<!-- language: xml --> 
<add key="aspnet:MaxHttpCollectionKeys" value="10000" /> 

Redémarrez les services de rapports et il devrait fonctionner . Sans ajouter réSEAU: MaxHttpCollectionKeys valeur par défaut est 1000.

Source

Questions connexes