2016-07-14 4 views
1

Ich habe SSIS-Code, der Excel in PDF in einer Skriptaufgabe ähnlich wie dieser Beitragscode konvertiert: Code to Convert Excel to PDF using VB.NET. Der SSIS-Job läuft den ganzen Weg dorthin, wo es exportiert nach Excel:Konvertieren von Excel zu PDF in SSIS funktioniert nicht

oWorkbook.ExportAsFixedFormat(pFormatType, PDFFileName, pQuality, _ 
pIncludeDocProperties, _ 
pIgnorePrintAreas, _ 
pFrom, pTo, pOpenAfterPublish) 

Sobald es diesen Code-Block trifft mein SSIS Job gefriert. Ich habe meine Anwendung.Anzeigenspiel auf falsch gesetzt, denke, dass etwas auftaucht, aber das ist nicht das Problem. Ich habe auch PDF-Reader auf meinem Server installiert und das hilft auch nicht. Dieser Code funktioniert auf meinem PC, aber nicht auf dem Server. Ich kann nicht herausfinden, warum das passiert. Es scheint, als ob der Code, auf den im Link verwiesen wird, auch funktioniert. Irgendwelche Ideen, warum mein Code auf meinem Server nicht funktioniert?

Antwort

0

Also grub ich ein bisschen tiefer. Ich konnte SQL-Agent im interaktiven Modus ausführen und ich könnte ein Pop-up in Excel stecken sehen (oder zumindest ein Pop-up mit einem Titel "Drucker-Setup" sehen, der Bildschirm wurde sonst völlig ausgetrickst). Ich googelte das und fand dieses andere Posting: Excel automation: PDF export causes "Printer setup" popup, das mein Problem beschreibt. Er korrigierte sein Problem, was auch für mich funktionierte, indem ich den Standarddrucker auf den Microsoft XPS Dokumentendrucker umstellte. Hoffe das hilft jemand anderem.

1

Sie können Desktop-Anwendungen nicht zuverlässig von einem Serverprozess aus aufrufen, der keinen Desktop hat.

Vermutlich fehlt etwas wie Acrobat oder eine Druckerwarteschlange und wartet auf Benutzereingaben, die nie kommen werden.

Wenn Sie PDFs von Excel mithilfe eines automatisierten Prozesses zuverlässig erstellen müssen, müssen Sie sich Tools von Drittanbietern ansehen oder etwas schreiben.

Ich kann es jetzt nicht finden, aber Microsoft hat irgendwo eine Technote, die das erwähnt.

+0

Ich nehme an, ich kann SSRS verwenden, um den Bericht zu erstellen und dann von dort ausgeben, obwohl ich hoffe, dies nicht tun zu müssen, und dass es möglicherweise eine Möglichkeit gibt, das Benutzereingabeelement zu erzwingen oder zu ignorieren. Der Grund ist, dass ich eine Menge SSRS-Berichte für die Anzahl der Dateien schreiben müsste, die von Excel in PDF konvertiert werden. – Schwimms

+0

SSRs können PDFs über die .net API SOAP-basiert ausgeben –

+0

Wenn ich mich erinnere, aber Sie müssen es in eine Datei selbst schreiben. Sie können sie auch manuell über einen Webbrowser ausführen oder planen. –