получил ошибку в процедуре, sql send mail не работает

Итак, у меня есть этот код для процедуры. код ниже:

EXEC msdb.dbo.sp_send_dbmail  
    @profile_name = 'SQL-PHC',  
    @recipients = '[email protected]',  
    @query = 'SELECT no, nome, obrano, convert(varchar,datafinal)  
    FROM bo
    WHERE nmdos LIKE "Preços por Cliente"
    AND datafinal = DATEADD(day, -1, CONVERT(date, GETDATE()))' ,  
    @subject = 'Work Order Count',  
    @attach_query_result_as_file = 1 ;

когда я разбираю код, все в порядке, но когда я его выполняю, я получаю следующую ошибку:

Msg 22050, Level 16, State 1, Line 0
Failed to initialize sqlcmd library with error number -2147467259.

я действительно не понимаю, что не так или как это решить


person questionador    schedule 07.11.2019    source источник
comment
sp_send_dbmail запускает запрос из контекста базы данных msdb. Вам нужно будет полностью указать ссылку на таблицу bo, указав имя базы данных и имя схемы.   -  person AlwaysLearning    schedule 07.11.2019
comment
Preços por Cliente предназначен для заключения в двойные кавычки? Это означало бы, что Preços por Cliente — это имя столбца.   -  person Larnu    schedule 07.11.2019
comment
Возможный дубликат...   -  person Peter Schneider    schedule 07.11.2019
comment
Preços por Cliente на самом деле является именем столбца. Собираюсь попытаться сослаться на правильную базу данных, пропустил это.   -  person questionador    schedule 07.11.2019
comment
@AlwaysLearning достаточно просто изменить msdb для моей базы данных в msdb.dbo.sp_send_dbmail?   -  person questionador    schedule 07.11.2019


Ответы (1)


ну наконец-то разобрались. после использования профилировщика я обнаружил, что ошибка была в запросе, поэтому простое добавление имени базы данных к «от» решило ее. в любом случае спасибо ребята

person questionador    schedule 08.11.2019