2016-09-06 7 views
-1

Я пытаюсь запустить ежедневное задание sql, которое отправляет почту моему клиенту с использованием SMTP-сервера и объектов CDONT Mail. У меня уже есть код, который отлично работает для меня. Недавно я обновил свой сервер с сервера microsoft Server 2003 до 2012 года и сервера Sql с 2005 по 2014 год.Ошибка выполнения Microsoft VBScript Ошибка Описание: Требуется объект: «Сервер»

Этот код ниже отлично работает в Classic asp на сервере. Но в SQL работу получаю ошибку

Set objEMail = Server.CreateObject("CDO.Message") 
Set objConfig = Server.CreateObject("CDO.Configuration") 
Set Confi = objConfig.Fields 
Confi("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1 
Confi("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "C:\inetpub\mailroot\pickup" 
Confi.Update 
Set objEMail.Configuration = objConfig 
objEMail.To = "[email protected]" 
objEMail.From ="[email protected]" 
objEMail.Subject = "Email subject goes here" 
objEMail.HTMLBody = "Hi Sql job data" 
objEMail.Send 
Set objEMail = Nothing 

выполняется как пользователь: NT Service \ SQLSERVERAgent. Код ошибки: 0 Источник ошибки = Ошибка выполнения Microsoft VBScript Ошибка Описание: Требуется объект: «Сервер» #

+0

После поиска я нашел cdonts.ddl wont support windows, поэтому я попробовал CDO. – Rejish

+0

Можете ли вы показать нам код, который не работает, а не код? – Dijkgraaf

+0

Привет, Dijkgraff. Спасибо за поддержку. Я получил решение – Rejish

ответ

0

Server - это объект, специфичный для ASP Classic.

Возможно, ваш код запущен хостом Windows Script (wscript.exe/cscript.exe), который имеет свою собственную функцию CreateObject.

Просто удалите Server., чтобы заставить его работать.

Set objEMail = CreateObject("CDO.Message") 
Set objConfig = CreateObject("CDO.Configuration") 

Set Confi = objConfig.Fields 
Confi("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1 
Confi("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "C:\inetpub\mailroot\pickup" 
Confi.Update 

Set objEMail.Configuration = objConfig 
objEMail.To = "[email protected]" 
objEMail.From ="[email protected]" 
objEMail.Subject = "Email subject goes here" 
objEMail.HTMLBody = "Hi Sql job data" 
objEMail.Send 

Set objEMail = Nothing 

Для записи, Server не является обязательным в ASP Classic, а также, приведенный выше код будет работать в обеих средах.

+0

Большое спасибо. Его работа как шарм. – Rejish