2008-09-11 6 views
0

Ich habe eine .NET-Webanwendung, die CR 2008 für Berichte verwendet. Der Server, auf dem es bereitgestellt wird, ist mit McAfee ausgestattet, und wir möchten CR anweisen, ein anderes temporäres Verzeichnis als das Windows-temporäre Verzeichnis zu verwenden.Crystal Reports 2008 InprocServer + TempDir = "Operation noch nicht implementiert"

Google fand mich auf den folgenden Registrierungsschlüssel:

SOFTWARE \ Business Objects \ Suite 12.0 \ Report Application Server \ InprocServer \ TempDir.

Das Hinzufügen dieses Schlüssels führt dazu, dass CR eine Menge temporärer Dateien in dem angegebenen Verzeichnis erstellt. Am Ende des Berichtslaufs bekomme ich jedoch die Ausnahme "Operation noch nicht implementiert".

Ich versuche, eine PDF-Datei über ExportToHttpRequest() an den Browser zurück zu senden, was gut funktioniert, wenn ich den tempdir des In-Process-Servers nicht ändere.

Hat jemand schon mal davor gelitten? Ich habe dem lokalen ASPNET-Account bereits die volle Kontrolle über den neuen tempdir gegeben.

Danke.

Antwort

1

Ich habe CR für mehrere Jahre verwendet, als ich jemals wollte, aber nie einen anderen Temp-Ordner angeben musste. Haben Sie einen bestimmten Grund dafür? Ich weiß nicht, ob der IIS-Prozess "einfach" darauf zugreifen kann.

Was ist das "andere" Temp Dir oder noch besser, "wo ist es" auf der Festplatte?

0

Wir haben dies auch unter IIS5 vergeblich versucht. Dasselbe Problem trat auf, nachdem versucht wurde, den TempDir-Registrierungsschlüssel festzulegen. Der PDF-Export ist fehlgeschlagen, obwohl alle anderen Berichte (anscheinend) funktionieren.

Auf einem Client-Site, auf dem IIS6 ausgeführt wird, funktioniert diese Umleitung von temporären Dateien in einem dedizierten Verzeichnis jedoch einwandfrei. In der Standardeinstellung auf ihrer Website, Crystal Reports das Verzeichnis

C verwendet: \ Programme \ Business Objects \ Businessobjects Enterprise 11.5 \ Data

als temporären Speicherort, und gibt die ASP.NET-Konto ausreichend Privilegien Erstellen und entfernen Sie dort Dateien. Es gibt also eine festverdrahtete Logik, die vorschreibt, dass die Dateien innerhalb der CR-Installationsverzeichnishierarchie erstellt werden. Mit anderen Worten: Nach der CR-Installation unter IIS6 funktionierte das alles wie erwartet.

Für Release 12 würde das Verzeichnis natürlich etwas anders sein.

2

Das andere temporäre Verzeichnis als C:/windows/temp sollte sich im virtuellen Verzeichnis Ihrer Website befinden. Fügen Sie den temporären Ordner einfach in das Verzeichnis Ihrer Website ein, und wenn Sie den virtuellen Pfad für den IIS-Hostpfad festlegen, wird dieser automatisch eingebunden. Wenn Sie es an einem anderen Ort wie D:/CrystalTEMP erstellen möchten, müssen Sie diesen Ordner in Ihrem Inetmgr hinzufügen, klicken Sie einfach mit der rechten Maustaste auf dieses Verzeichnis und aktivieren Sie die Webfreigabe. Und ja, Sie müssen dem Netzwerkdienst volle Rechte für diesen temporären Ordner geben.

Wenn Sie Ihr Websiteverzeichnis in inetpub/wwwroot platzieren, müssen Sie dem Netzwerkdienst keine Rechte zuweisen.

+0

Dies ist erforderlich, wenn Medium ASP verwendet wird.NET-Vertrauenseinstellungen (Anwendungen können nicht außerhalb ihres Site-Verzeichnisses schreiben) – Yablargo

-1

"Operation noch nicht implementiert" ändern "Schriftart" Typ von - Rechtsklick auf Textbereich. - Formateinstellung. - Schriftart ändern