2008-09-11 5 views
0

J'ai une application web .NET qui utilise CR 2008 pour les rapports. Le serveur sur lequel il est déployé est équipé de McAfee et nous souhaitons indiquer à CR d'utiliser un répertoire temporaire autre que le répertoire temporaire Windows.Crystal Reports 2008 InprocServer + TempDir = "Opération non encore implémentée"

Google m'a trouvé la clé de Registre suivante:

SOFTWARE \ Business Objects \ Suite 12.0 \ Report Application Server \ InprocServer \ TempDir. L'ajout de cette clé entraîne la création par CR d'un ensemble de fichiers temporaires dans le répertoire que j'ai spécifié. Cependant, à la fin du rapport, j'obtiens une exception «Opération non encore implémentée».

J'essaie de renvoyer un fichier PDF au navigateur via ExportToHttpRequest(), ce qui fonctionne très bien si je ne change pas le tempdir du serveur In-process.

Quelqu'un at-il déjà rencontré cela? J'ai déjà donné au compte ASPNET local le contrôle total du nouveau tempdir.

Merci.

Répondre

1

J'ai utilisé CR pendant plus d'années que je n'ai jamais voulu, mais je n'ai jamais eu besoin de spécifier un autre dossier temporaire. Avez-vous une raison spécifique pour cela? Je ne sais pas si le processus IIS peut "simplement" accéder à cela.

Qu'est-ce que l'autre répertoire «temp» ou mieux, «où est-il» sur le disque dur?

0

Nous avons essayé cela en vain en vertu de IIS5. Ran dans le même problème après avoir essayé de définir la clé de registre TempDir. L'export PDF a commencé à échouer bien que toutes les autres exportations de rapports (apparemment) fonctionnent. Toutefois, sur un site client exécutant IIS6, cette redirection des fichiers temporaires vers un répertoire dédié fonctionne correctement. Par défaut, sur leur site, Crystal Reports utilise le répertoire

C: \ Program Files \ Business Objects \ BusinessObjects Enterprise 11.5 \ Data

comme son emplacement de stockage temporaire, et donne le compte ASP.NET privilèges suffisants pour créer et supprimer des fichiers là-bas. Donc, il y a peut-être une logique câblée qui exige que les fichiers soient créés dans la hiérarchie du répertoire d'installation CR. En d'autres termes, tout cela a fonctionné comme prévu par défaut après l'installation de CR sous IIS6.

Pour la version 12, évidemment le répertoire serait légèrement différent.

2

L'autre répertoire temporaire que C:/windows/temp doit se trouver dans le répertoire virtuel de votre site Web. Il suffit d'ajouter ce dossier temporaire dans le répertoire de votre site Web et lorsque vous faites son chemin virtuel pour l'héberger sur IIS, il est automatiquement inclus. Si vous voulez le faire à un autre endroit comme sur D:/CrystalTEMP, vous devez ajouter ce dossier dans votre Inetmgr, faites un clic droit sur ce répertoire et activez son partage web. Et oui, vous devez accorder tous les droits au service réseau sur ce dossier temporaire.

Si vous placez votre répertoire de site Web dans inetpub/wwwroot, vous n'avez pas besoin de donner des droits au service réseau.

+0

Ceci est nécessaire lors de l'utilisation de l'ASP moyen.Paramètres NET Trust (les applications ne peuvent pas écrire en dehors de leur répertoire de site) – Yablargo

-1

"Opération pas encore implémentée" changez le type "Police" de - faites un clic droit sur la zone de texte. - réglage du format. - changez la police