Podczas wysyłania maila z załącznikiem (który jest wynikiem zapytania) pojawiał się bład:
Failed to initialize sqlcmd library with error number -2147024809
O co chodzi? Otóż polecenie wysyłające maila:
1 2 3 4 5 6 7 8 9 10 11 |
EXEC msdb..sp_send_dbmail @profile_name='SQLProfile' , @recipients = @EmailRecipient , @subject = @EmailSubject , @body = @EmailContent , @body_format = 'HTML' , @query=@EmailQuery , @attach_query_result_as_file=1 , @query_attachment_filename = 'Results.csv' , @query_result_separator = ',' , @from_address = 'sql-team@company.com' , @reply_to = 'sql-team@company.com' |
wykonywało query zdefiniowane tak:
1 |
SELECT name from dbo.table |
sęk w tym, że w czasie wysyłania maila wcale nie jest to takie jasne w jakiej bazie danych jesteśmy… Wystarczyło zmienić zapytanie na następującą postać żeby zadziałało:
1 |
SELECT name from <strong>mydatabase</strong>.dbo.table |