Printer Delivery Extension For Standard Subscriptions?
Sep 18, 2007
I have installed the printer delivery sample and made the changes to the config files as described in the documentation but can only see it available as an option in the data driven subscriptions section. Anyone know how I can get it to show up in the standard subscriptions option?
using (FileStream fs = File.Create(@"C: est est.txt")) { using (StreamWriter sw = new StreamWriter(fs)) { sw.WriteLine("******************");
try { Stream streamTemp = (Stream)testFiles[0].Data; byte [] byteData = new byte[streamTemp.Length]; for (int i = 0; i < byteData.Length; i++) { byteData[ i ] = (byte)streamTemp.ReadByte(); }
using (MemoryStream ms = new MemoryStream(byteData)) { string result = Convert.ToBase64String(ms.ToArray()); sw.WriteLine(result); } } catch (Exception ex) { sw.WriteLine(ex.Message); }
sw.Flush(); } }
After I re-deploy the modified assembly and create a simple subscription, it fires, and there are no exceptions. But instead of some good-looking XML in the test.txt file, I get this:
[Actually, there are much more slashes, but I am showing just the beginning of the file - for brevity...]
When I run this report in ReportManager and export it as "XML file with report data", that XML exported file looks exactly as I expect it to. So, the data is there, in the report, but how do I extract it?
I've been trying to figure out why I am not getting the real content of the report in XML format. Maybe, this line is wrong: RenderedOutputFile[] testFiles = notification.Report.Render("XML", deviceInfo); AND/OR this line is wrong: deviceInfo = String.Format(................etc. AND/OR I am using a wrong method for converting the Stream to a string. ...or, something else?
Could someone kindly help me figure out what I'm doing wrong, please?
I am having a problem with the e-mail delivery extension in MS SQL Reporting Services 2005. I have some reports that use an Oracle data source. When running the reports through Report Manager the data source works fine and the reports display properly. But when running an automatic e-mail delivery of the reports through a subscription I get the following error message (in the ReportServerService log file):
System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.
Doesn't this seem strange when the reports run in Report Manager but not when I send the reports through e-mail? I have Oracle Instant client v. 10.2.0.3 installed on the machine. I am wondering if the e-mail delivery extension has an account that needs privilegies to the oracle client home directory or something like that. Any ideas?
We are using RS2005 for a year now and never had any problems especially with mail subscriptions.
Since we transferred from single RS machine to web farm everything works ok except mail subscriptions. Subscription sometimes (?!?!?!?!) refuse to export report to a document of any kind. I repeat that this is a random thing which is more often with PDF and less with Web Archive or Excel. We are using shared schedules and on demand execution of AddEvent stored procedure by night batches to send mail to users. Also, original error from RS log says something that this kind of operation is not supported for server working in native mode. We don't have SharePoint so we never used it in any other way then native mode and it worked.
Any idea will be appreciated!
Thanks in advance.
Update 26.06.2007
It seems that problem is not loading dll used to export report to a file but loading email subscription extension (dll that needs to be loaded for execution of email subscription.)
Original error from RS Log:
w3wp!library!1!06/22/2007-11:06:43:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.OperationNotSupportedNativeModeException: The operation is not supported on a report server that runs in native mode., ; Info: Microsoft.ReportingServices.Diagnostics.Utilities.OperationNotSupportedNativeModeException: The operation is not supported on a report server that runs in native mode. w3wp!extensionfactory!1!06/22/2007-11:06:43:: e ERROR: Exception caught instantiating Report Server DocumentLibrary report server extension: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: The type initializer for 'Microsoft.ReportingServices.SharePoint.SharePointDeliveryExtension.DocumentLibraryProvider' threw an exception. ---> Microsoft.ReportingServices.Diagnostics.Utilities.OperationNotSupportedNativeModeException: The operation is not supported on a report server that runs in native mode. --- End of inner exception stack trace --- --- End of inner exception stack trace --- at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck) at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache) at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache) at System.Activator.CreateInstance(Type type, Boolean nonPublic) at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) at Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.CreateExtensionObject(Extension extConfig).
I doubt this is possible, but can someone think of a way to change the email address used for sending report subscriptions based on the report or subscription?
It's a need that I've heard from a number of different clients. Scenario: a company has one reporting services server with reports running from numerous departments. Report subscriptions are sent to internal and external email addresses and there's a business need to use different "from" addresses based on the report (or audience).
Anybody please help me about the printer. I have a user want to print the letter from tray3, he slects the tray3, but it always print from tray2. I tried by myself. It is the same thing. Anybody can help me?
1. I would like to print one of my database to a printer, how can I do that? 2. I would like to transfer one of my database to Microsoft Excel 97/2000, how can I do that?
Is there a way to route a file directly to a printer? I have a process that creates PDF file in a known location and I would like to route them directly to the printer after creation.
I have a windows NT service, which prints to a laser printer programmatically using MSRS 2K. It works fine with a HP printer however when I try printing to a Lexmark Printer it does not always print. Somebody help. Microsoft please release a latest patch for MSRS 2K, its been so long since we had one.
Private Function MoveToPage(ByVal page As Int32) As Boolean
' Check to make sure that the current page exists in
' the array list
If Nothing Is Me.RenderedReport(m_currentPrintingPage - 1) Then
Return False
End If
' Set current page stream equal to the rendered page
m_currentPageStream = New MemoryStream(Me.RenderedReport(m_currentPrintingPage - 1))
' Set its postion to start.
m_currentPageStream.Position = 0
' Initialize the metafile
If Not Nothing Is m_metafile Then
m_metafile.Dispose()
m_metafile = Nothing
End If
' Load the metafile image for this page
m_metafile = New Metafile(CType(m_currentPageStream, Stream))
Return True
End Function
Private Function MetafileCallback(ByVal recordType As EmfPlusRecordType, ByVal flags As Integer, ByVal dataSize As Integer, ByVal data As IntPtr, ByVal callbackData As PlayRecordCallback) As Boolean
Dim dataArray As Byte() = Nothing
' Dance around unmanaged code.
If data <> IntPtr.Zero Then
' Copy the unmanaged record to a managed byte buffer
I am looking for a way to remove the printer symbol from the report manger because it dows not work on some client machines because they are locked down. For us it is completely sufficient to export to PDF.
Is there a setting or an entry in the web config or something else. A hint would be helpful
The service pack for Visual Studio has fixed the problem when I print my report from VS, however when I deploy and print my reports from the SSRS website they are still incorrect.
My SSRS server is running SQL 2005 with service pack 2 installed and the 9.00.3152 9333097 Cumulative hotfix package (build 3152) for SQL Server 2005 Service Pack 2 also applied.
I find it hard to believe the problem was fixed in the developer tool but NOT in the client tool?
How can I develop reports when the output from the developer tool is different to the output from the client tool?
For example I specify a box to be 5cm wide, and when printed from visual studio it is 5cm wide, but when printed from the SSRS website it is not 5cm wide!
Hello, I am trying to get a SSRS 2005 report to print from my Visual Studio 2005 C++ application without using the ReportViewer to preview it first. What I have done is created a dll that I call into when I want to access a certain report and print it. While searching around on the internet I found an MSDN article about printing a report without previewing and it had an example in C# code. So I used that as a guide for my C++ code but I am still having problems with rendering the report properly so it can be printed. When I try to render a report using the "Image" format, my streamid string is empty but the byte array that the render routine returns is not. Here is the code I am using, what could be the problem here?
Note: m_Streams is define elsewhere as array<String^>^ m_Streams = gcnew array<String^>(10);
Very strange problem here with Reporting Services SQL 2005 SP1 with latest patch KB 918222 on Windows Server 2003 SP1. The clients PC are Windows XP both SP1 and SP2 and that's not affecting our problems.
When my default printer is set to the "Printer 1" (HP LaserJet 9000), when i look a report's into the Report Viewer and i click on the print button (printer image button that use the ActiveX RSClientPrint), i let the default printer to "Printer 1". In this case, the report is printed correctly.
Again with my default printer set to "Printer 1", i look the same report into the Report Viewer and i click on the print button again. This time i select another printer "Printer 2" (an older HP LaserJet 8000 DN) and the report is printed correctly.
Now the problem is when i set the "Printer 2" as default printer. If i go to the Report Viewer and i click on the print button for the same report that was printed correctly before, now the report seem's to be ok into the preview before i print, but when i send the job to the "Printer 2" the report require a unknown paper format, so the "Printer 2" ask paper into the tray 1 (manual feed) and the result of the printed report is not good. The right and the bottom seem's to be cutted. I tried to reduce the report dimension without good results. The report is always cutted to right and bottom and the printer ask paper into the tray 1 (unknown paper).
Is't not the end, if i print the same report on the "Printer 1" when the default printer is "Printer 2", the report is printed correctly.
I have tried to use another printer than the "Printer 2" to see if the problem is the printer. I tried the "Printer 3" (HP LaserJet 9050) as default printer, i print the report on this one and i have the same problem than with the "Printer 2". And if i set "Printer 1" as default and i print on the "Printer 3" the report is printing correctly.
For all the printers i have the latest drivers. The same problem is occuring on all other PC other than mine.
We have checked the printers configuration and all seem's to have the same configuration.
Can this be a bug with the ActiveX RSClientPrint or what ?
Note that all previews before printing are good with all printers, but with the "Printer 2" and "Printer 3" set to default, the printed report was not the one i saw into the Preview.
Below a link to a sample report that we have. All our reports have the same global dimensions.
My company has a .Net app that embeds the reportwriter for displaying (and printing) reports. This seems to work fine visa vis printing reports in landscape mode, although odly if you look at the printer properties it SAYS it is priting in portrait. In any case, the problem comes when this default reportwriter isn't used but rather an rdl file is generated programmatically. No matter what width and height settings we use, the document unfailingly prints in portrait mode. I've looked to see whether there is any way to force the printer mode, but it seems there isn't, at least not through an rdl. Or what SHOULD work (setting the width larger than the heigh) does not. I'm wondering if anyone else here has run into difficulties like this if there are any solutions or places I might look for answers? Thanks!
Is anyone else having problems with subscriptions and delivery with SQL Reporting Services? I can set up a subscription and uncheck "Include Report" and the email sends fine. When I try and "Include Report" such as a PDF I get "Failure sending mail: The Report Server has encountered a configuration error; more details in the log files" This was the default set up. I guess I am not sure as to what user/service accounts should be used. The Reporting Service and SQL are on the same machine (2003).
Thanks for ANY suggestions!!
If it helps. The Log file:
at Microsoft.ReportingServices.Diagnostics.CancelablePhaseBase.ExecuteWrapper() at Microsoft.ReportingServices.Library.RenderFirstCancelableStep.RenderFirst(RSService rs, CatalogItemContext reportContext, ClientRequest session, JobTypeEnum type, Warning[]& warnings, ParameterInfoCollection& effectiveParameters, String[]& secondaryStreamNames) at Microsoft.ReportingServices.Library.ReportImpl.Render(String renderFormat, String deviceInfo) at Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider.ConstructMessageBody(IMessage message, Notification notification, SubscriptionData data) at Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider.CreateMessage(Notification notification) at Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider.Deliver(Notification notification) ReportingServicesService!notification!117c!04/15/2004-17:38:10:: Notification 6fbda5ab-c633-4e37-a168-29348fcc58e0 completed. Success: False, Status: Failure sending mail: The Report Server has encountered a configuration error; more details in the log files, DeliveryExtension: Report Server Email, Report: eBusinessRequests, Attempt 0 ReportingServicesService!dbpolling!117c!04/15/2004-17:38:10:: NotificationPolling finished processing item 6fbda5ab-c633-4e37-a168-29348fcc58e0 ReportingServicesService!library!117c!04/15/2004-17:44:46:: i INFO: Cleaned 0 batch records, 0 policies, 0 sessions, 0 cache entries, 0 snapshots, 0 chunks, 0 running jobs ReportingServicesService!dbpolling!a60!4/15/2004-17:46:09:: EventPolling processing 1 more items. 1 Total items in internal queue. ReportingServicesService!dbpolling!117c!04/15/2004-17:46:09:: EventPolling processing item 60afa787-7b2b-4a39-b61f-f52c87620ca1 ReportingServicesService!library!117c!04/15/2004-17:46:09:: Schedule bf0fc6ef-14b1-4967-b4ca-d86d49641cb6 executed at 04/15/2004 17:46:09. ReportingServicesService!schedule!117c!04/15/2004-17:46:09:: Creating Time based subscription notification for subscription: 7c778107-5940-43b3-8b62-62630510d503 ReportingServicesService!library!117c!04/15/2004-17:46:09:: Schedule bf0fc6ef-14b1-4967-b4ca-d86d49641cb6 execution completed at 04/15/2004 17:46:09. ReportingServicesService!dbpolling!117c!04/15/2004-17:46:09:: EventPolling finished processing item 60afa787-7b2b-4a39-b61f-f52c87620ca1 ReportingServicesService!dbpolling!a60!4/15/2004-17:46:09:: NotificationPolling processing 1 more items. 1 Total items in internal queue. ReportingServicesService!dbpolling!117c!04/15/2004-17:46:09:: NotificationPolling processing item 23e10ae2-063e-41da-b1bf-241e7a3ec010 ReportingServicesService!emailextension!117c!04/15/2004-17:46:10:: Email successfully sent to "preisinger@ronco.net" <preisinger@ronco.net> ReportingServicesService!notification!117c!04/15/2004-17:46:10:: Notification 23e10ae2-063e-41da-b1bf-241e7a3ec010 completed. Success: True, Status: Mail sent to preisinger@ronco.net, DeliveryExtension: Report Server Email, Report: eBusinessRequests, Attempt 0 ReportingServicesService!dbpolling!117c!04/15/2004-17:46:10:: NotificationPolling finished processing item 23e10ae2-063e-41da-b1bf-241e7a3ec010 ReportingServicesService!library!117c!04/15/2004-17:54:46:: i INFO: Cleaned 0 batch records, 0 policies, 0 sessions, 0 cache entries, 0 snapshots, 0 chunks, 0 running jobs ReportingServicesService!library!117c!04/15/2004-18:04:46:: i INFO: Cleaned 0 batch records, 0 policies, 0 sessions, 0 cache entries, 0 snapshots, 0 chunks, 0 running jobs ReportingServicesService!dbpolling!a60!4/15/2004-18:12:10:: EventPolling processing 1 more items. 1 Total items in internal queue. ReportingServicesService!dbpolling!117c!04/15/2004-18:12:10:: EventPolling processing item 047ca2e8-cba6-426d-a444-c568507ed611 ReportingServicesService!library!117c!04/15/2004-18:12:10:: Schedule f6403b01-2257-4915-b1a7-8e956063bb53 executed at 04/15/2004 18:12:10. ReportingServicesService!schedule!117c!04/15/2004-18:12:10:: Creating Time based subscription notification for subscription: 1e5a59b4-7ce3-4d68-93fe-46eaa3fa6265 ReportingServicesService!library!117c!04/15/2004-18:12:10:: Schedule f6403b01-2257-4915-b1a7-8e956063bb53 execution completed at 04/15/2004 18:12:10. ReportingServicesService!dbpolling!117c!04/15/2004-18:12:10:: EventPolling finished processing item 047ca2e8-cba6-426d-a444-c568507ed611 ReportingServicesService!dbpolling!a60!4/15/2004-18:12:10:: NotificationPolling processing 1 more items. 1 Total items in internal queue. ReportingServicesService!dbpolling!117c!04/15/2004-18:12:10:: NotificationPolling processing item 233cdee0-a477-4ae0-9af3-10871c1c7d63 ReportingServicesService!library!117c!04/15/2004-18:12:10:: i INFO: Call to RenderFirst( '/eBusinessRequests/eBusinessRequests' ) ReportingServicesService!library!117c!04/15/2004-18:12:10:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException: The Report Server has encountered a configuration error; more details in the log files, AuthzInitializeContextFromSid: Win32 error: 110; Info: Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException: The Report Server has encountered a configuration error; more details in the log files ReportingServicesService!library!117c!04/15/2004-18:12:10:: i INFO: Initializing EnableExecutionLogging to 'True' as specified in Server system properties. ReportingServicesService!emailextension!117c!04/15/2004-18:12:10:: Error sending email. Microsoft.ReportingServices.Diagnostics.Utilities.RSException: The Report Server has encountered a configuration error; more details in the log files ---> Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException: The Report Server has encountered a configuration error; more details in the log files at Microsoft.ReportingServices.Authorization.Native.GetAuthzContextForUser(IntPtr userSid) at Microsoft.ReportingServices.Authorization.Native.IsAdmin(String userName) at Microsoft.ReportingServices.Authorization.WindowsAuthorization.IsAdmin(String userName, IntPtr userToken) at Microsoft.ReportingServices.Authorization.WindowsAuthorization.CheckAccess(String userName, IntPtr userToken, Byte[] secDesc, ReportOperation requiredOperation) at Microsoft.ReportingServices.Library.Security.CheckAccess(ItemType catItemType, Byte[] secDesc, ReportOperation rptOper) at Microsoft.ReportingServices.Library.RSService._GetReportParameterDefinitionFromCatalog(CatalogItemContext reportContext, String historyID, Boolean forRendering, Guid& reportID, Int32& executionOption, String& savedParametersXml, ReportSnapshot& compiledDefinition, ReportSnapshot& snapshotData, Guid& linkID, DateTime& historyDate) at Microsoft.ReportingServices.Library.RSService._GetReportParameters(String report, String historyID, Boolean forRendering, NameValueCollection values, DatasourceCredentialsCollection credentials) at Microsoft.ReportingServices.Library.RSService.RenderAsLiveOrSnapshot(CatalogItemContext reportContext, ClientRequest session, Warning[]& warnings, ParameterInfoCollection& effectiveParameters) at Microsoft.ReportingServices.Library.RSService.RenderFirst(CatalogItemContext reportContext, ClientRequest session, Warning[]& warnings, ParameterInfoCollection& effectiveParameters, String[]& secondaryStreamNames) at Microsoft.ReportingServices.Library.RenderFirstCancelableStep.Execute() at Microsoft.ReportingServices.Diagnostics.CancelablePhaseBase.ExecuteWrapper() --- End of inner exception stack trace ---
hi all, I have created a report using sql server 2005 RS.Ive deployed it in the server(localhost)also.In the subsription section of the report manager ive mentioned a emailid to whom ive to send the report.Ive selected the report server email delivery method from the dropdown list.After entering the emailid and scheduling the report and when i click ok i find that the report was not delivered.Im getting this error.
Failure sending mail: The report server has encountered a configuration error. See the report server log files for more information.
I'm new to SSIS but have been using BizTalk for a while. My question is, if the FTP task in SSIS ensures guranteed delivery of the files transferred. I know that in BTS, potnetially you can start processing incomplete files (unless you set the staging, temp folder). Can this be a problem in SSIS FTP transfer? I'll be dealing with very large files (5 gigs in some cases) transfers via FTP, on an unreliable network in my project, which means that the file can be partially transferred when the connection breaks down.
I need to know, if in SSIS
(1) FTP task supports partial transfers, and then resuming the download/ upload of these files from point of failure, when the network is again available (Regets, Reputs)?
(2) If EOF is received, before the rest of data is received, especially in the case if 1) is supported, then does FTP task believe that whole file is received or will it wait for the rest of content, before task completion?
I'll appreciate if someone can answer these and can also send me the details of FTP implementation in SSIS
I'm using the web service to run reports from an application. However, I don't want to wait for a report to complete; I would like to just have the report emailed to the user when it is complete. I've only found email delivery through subscriptions. Is there another way to deliver reports via email?
If I have to use subscriptions I would like to set them to run "immediately". I've found that setting the start date to sometime in the past does not seem to run the report. Is there some way to set a schedule to run immediately. I've thought of setting the time to the near future, but I seem to have the problem of getting the proper timestamp. Can I get this through the web service some how?
Is SSRS limited to delivering reports to recipients inside your domain (active directory)? I'm using an SMTP server for report delivery an have set the SendMailToUserAlias to False and still can only send reports to e-mails with my domain (user@mycompany.com). I need to send reports to recipients outside my company -- is SSRS capable? If so, how do I configure it to do so?
I am trying to send an email out, from an SQL Server with Microsoft Office 2000 Premium (Professional also available) (could have option for Office 2003 also) installed on it (only outlook is installed, however we can change that) It's Windows 2k3 running Microsoft SQL 2000 server SP 4.
I need to be able to, via SQL (or a stored procedure) automate sending of emails out via xp_sendmail or some other system, with delivery receipts attached to them, so that when they hit the client's server we know it. I can get it to send a delivery receipt when remoting into outlook and sending an email through outlook automatically, however it does not attach one to the ones going out with xp_sendmail. I know there's a way to do it via ASP.Net, but I'd much prefer to have a job that goes out and finds which emails need sent, and have the database server auto make the email, and sent it out on our behalf, instead of requiring someone to go in and click sends, and such via ASP.Net.
I was wondering if someone could elaborate (or provide a link) on how the once only delivery works for servcie broker.
For example you have DB1 that sends messages to DB2. DB1 has corruption at 1pm, you retore the database to 12:30pm, this will have all the messages that were in this instance at 12:30 , however between 12:30 AND 1PM several successful messages were sent. These messages are in the restored DB1 queue, they get sent again?
How does service borker ensure that these messages are not processed again. The only thing i can think of is that the inititator or target keep a complete history of messages processed. But surely this "table" would get huge and slow down servcie broker if it had to check this tale every time a message is sent or received.
I cannot find much in BOL on this topic, or maybe i cannot find the topic.
I have a delivery extension that prints to network printers. Now I add a subscription like a few minutes in the future via web service for each report to print.
Is there a way I can trigger the delivery directly?