2016-07-26 3 views
-1

Привет, У меня есть мой скрипт vbs ниже, чтобы отправить электронное письмо, выполнив xp_sendmail.Ошибка при вызове xp_sendmail в vbs

ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master;Data Source=myserver" 
Set dbconn = CreateObject("ADODB.Connection") 
dbconn.Open ConnectionString 

DIM cmd 
SET cmd = CreateObject("ADODB.Command") 
SET cmd.ActiveConnection = dbconn 
cmd.CommandText = "xp_sendmail" 
cmd.CommandType = 4 'adCmdStoredProc 
Dim email = "[email protected]" 
Dim subj = "test" 
Dim msg = "message" 

cmd.Parameters("@Recipients") = email 
cmd.Parameters("@Subject") = subj 
cmd.Parameters("@message") = msg 
cmd.Execute 

Это дает ошибку на линии:

Dim email = "[email protected]" 

Error: Expected end of element. Any help would be appreciated.

+0

Вы также получаете сообщение об ошибке, если вы удалите 'adCmdStoredProc? –

+1

'Dim email' и на другой строке' email = "[email protected]" ' –

+0

Привет @noodles, я попробовал ваше предложение, но теперь он дает мне ошибку: элемент не может быть найден в коллекции, соответствующей запрашиваемому имени или порядковое. line: cmd.Parameters («@ Получатели») = электронная почта –

ответ

0

Попробуйте изменить это:

Dim email = "[email protected]" 
Dim subj = "test" 
Dim msg = "message" 

cmd.Parameters("@Recipients") = email 
cmd.Parameters("@Subject") = subj 
cmd.Parameters("@message") = msg 

к этому:

cmd.parameters.Append cmd.CreateParameter("Recipients", adVarChar, adParamInput, 50, "[email protected]") 
cmd.parameters.Append cmd.CreateParameter("Subject", adVarChar, adParamInput, 50, "test") 
cmd.parameters.Append cmd.CreateParameter("Message", adVarChar, adParamInput, 50, "message") 

Другими словами вам нужно добавить параметры и выполнить команду. Информация о CreateParameter является here о Appendhere.

+0

Привет @ gofr1. Я попробовал ваше решение, но теперь это дает мне ошибку: аргументы неправильного типа и т. Д. 800A0BB9, ADODB.Command –

+0

Попробуйте adVarWChar, он похож на тип данных nvarchar SQL server. – gofr1

Смежные вопросы