Data Driven subscription skonfigurowane, ale nie działa…. Jak znaleźć punk zaczepienia?
Zajrzyj do logów (w katalogu SSRS podkatalog logs). Każdy plik to log z ostatniego uruchomienia SSRS. Poszukaj w nim:
library!WindowsService_48!dc8!10/21/2014-13:15:03:: i INFO: Schedule 8da1eeb1-1656-4e67-87de-e297814b3673 executed at 10/21/2014 13:15:03.
schedule!WindowsService_48!dc8!10/21/2014-13:15:03:: Creating Time based subscription notification for subscription: 64b6ea63-b6b8-4378-869e-a93d1d96f4c6
library!WindowsService_48!dc8!10/21/2014-13:15:03:: i INFO: Schedule 8da1eeb1-1656-4e67-87de-e297814b3673 execution completed at 10/21/2014 13:15:03.
library!WindowsService_48!dc8!10/21/2014-13:15:03:: i INFO: Handling data-driven subscription 64b6ea63-b6b8-4378-869e-a93d1d96f4c6 to report
/FOLDER_NAME/SUBFOLDER_NAME/REPORT_NAME, owner: USERNAME, delivery extension: Report Server Email.
library!WindowsService_48!dc8!10/21/2014-13:15:04:: i INFO: Initializing EnableExecutionLogging to 'True’ as specified in Server system properties.
library!WindowsService_48!1f4c!10/21/2014-13:15:05:: i INFO: Initializing EnableExecutionLogging to 'True’ as specified in Server system properties.
library!WindowsService_48!1f4c!10/21/2014-13:15:05:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.InvalidReportParameterException: ,
Microsoft.ReportingServices.Diagnostics.Utilities.InvalidReportParameterException: Default value or value provided for the report parameter 'CollectionID’ is
not a valid value.;
W tym przypadku widzimy, że collectionID ma niepoprawną wartość. Oznacza to, że tabela zasilająca data driven subscription przechowuje niepoprawne wartości lub wartości niepoprawnego typu. Popraw, aż w końcu w logu znajdziesz informację o poprawnym uruchomieniu subskrypcji:
library!WindowsService_49!18a8!10/21/2014-16:40:04:: i INFO: Schedule 8da1eeb1-1656-4e67-87de-e297814b3673 executed at 10/21/2014 16:40:04.
schedule!WindowsService_49!18a8!10/21/2014-16:40:04:: Creating Time based subscription notification for subscription: 64b6ea63-b6b8-4378-869e-a93d1d96f4c6
library!WindowsService_49!18a8!10/21/2014-16:40:04:: i INFO: Schedule 8da1eeb1-1656-4e67-87de-e297814b3673 execution completed at 10/21/2014 16:40:04.
library!WindowsService_49!1f4c!10/21/2014-16:40:04:: i INFO: Handling data-driven subscription 64b6ea63-b6b8-4378-869e-a93d1d96f4c6 to report
/FOLDER_NAME/SUBFOLDER_NAME/REPORT_NAME, owner: USER_NAME, delivery extension: Report Server Email.
library!WindowsService_49!1f4c!10/21/2014-16:40:04:: i INFO: Initializing EnableExecutionLogging to 'True’ as specified in Server system properties.
library!WindowsService_49!1f4c!10/21/2014-16:40:05:: i INFO: Initializing EnableExecutionLogging to 'True’ as specified in Server system properties.
notification!WindowsService_49!1f4c!10/21/2014-16:40:05:: i INFO: Handling subscription 64b6ea63-b6b8-4378-869e-a93d1d96f4c6 to REPORT_NAME, owner: USER_NAME, delivery extension: Report Server Email.
library!WindowsService_49!1f4c!10/21/2014-16:40:05:: i INFO: RenderForNewSession(’/FOLDER_NAME/SUBFOLDER_NAME/REPORT_NAME’)
library!WindowsService_49!1f4c!10/21/2014-16:40:07:: i INFO: Initializing EnableExecutionLogging to 'True’ as specified in Server system properties.
Brawo! Może już wszystko działa? Jeśli tak, to dostałeś maila. Jak nie, czytaj dalej.
Skoro subskrypcja się wykonała a mail nie dotarł, to może konfiguracja poczty jest błędna? Spróbuj połączyć się przez telnet do serwera pocztowego:
telnet serwer port
Komendy niebieskie wpisujesz sam:
220 Hej to ja twój serwer pocztowy
EHLO
250-nazwa_serwera.domena.pl Hello [192.168.6.222]
[…]
250 XSHADOW
MAIL FROM:user_name@domainname.pl
250 2.1.0 Sender OK
RCPT TO: reply_to_address@domainname.pl
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
This is only a test
.
250 2.6.0 2a58f154-ce30-4dc6-837a-e72784a8894a@smtpserver_name.domain.pl [InternalId=130460481] Queued mail for delivery
QUIT
221 2.0.0 Service closing transmission channel
Connection to host lost.
C:\>
W moim przypadku mail testowy dotarł. Co było źle? W tabelce sterującej w data driven subscription był wpisany niepoprawny adres email. Po poprawieniu adresu, maile zaczęły wychodzić!
Połączenie telentowe opisane dokładniej tutaj:
http://namarginesie.blox.pl/2007/03/HOW-TO-telnet-do-serwera-SMTP.html