Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как создать CDO объект из ActiveX Script Task  [new]
vdv
Member

Откуда:
Сообщений: 145
В DTS создаю ActiveX Script Task, в нем:
'*********************

'
Visual Basic ActiveX Script
'*********************
Function Main()
Dim objSession As Object
Set objSession = CreateObject ("MAPI.Session")
Main = DTSTaskExecResult_Success
End Function

выдает ошибку компиляции. На Visual Basic этот код срабатывает, а в VBScript не хочет.
Хотелось бы залогиниться к mailboxу на Exchange Server используя CDO Library из DTS.
18 ноя 03, 17:24    [423207]     Ответить | Цитировать Сообщить модератору
 Re: Как создать CDO объект из ActiveX Script Task  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
Вместо

Dim objSession As Object


следует писать

Dim objSession
18 ноя 03, 18:02    [423289]     Ответить | Цитировать Сообщить модератору
 Re: Как создать CDO объект из ActiveX Script Task  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Это ему не поможет. Просто задание выполняется от имени другой учетной записи, у которой (большой привет БГ) совсем другой MAPI-профиль или такового вообще нет.
18 ноя 03, 18:04    [423294]     Ответить | Цитировать Сообщить модератору
 Re: Как создать CDO объект из ActiveX Script Task  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
А, точно. jimmers, извини. Твое направление мыслей более правильно
18 ноя 03, 18:06    [423298]     Ответить | Цитировать Сообщить модератору
 Re: Как создать CDO объект из ActiveX Script Task  [new]
vdv
Member

Откуда:
Сообщений: 145
Dim objSession
тоже не прокатывает, при запуске пишет

ActiveX Scripting encountered Run Time Error during the execution of the script

Похоже не понимает что такое "MAPI.Session" и где его взять т.е. какую dll подцепить. В VB это указывается в Project -> References, а здесь как?
18 ноя 03, 18:14    [423315]     Ответить | Цитировать Сообщить модератору
 Re: Как создать CDO объект из ActiveX Script Task  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
Компонент с ProgID = MAPI.Session должен быть зарегистрирован на машине, где работает SQL Server. Запусти VBScript с приведенным тобой кодом на этой машине и посмотри итоги.
18 ноя 03, 18:20    [423323]     Ответить | Цитировать Сообщить модератору
 Re: Как создать CDO объект из ActiveX Script Task  [new]
vdv
Member

Откуда:
Сообщений: 145
Не понял как нужно запустить VBScript кроме как в DTSe, може в реестре как нить глянуть?
У меня SQL сервер стоит на моем локальном компутере. Visual Studio тут же установлен и из него работает.
18 ноя 03, 19:35    [423433]     Ответить | Цитировать Сообщить модератору
 Re: Как создать CDO объект из ActiveX Script Task  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
Спаси файл с расширением VBS и запусти его из консоли:
cscript myfile.vbs
19 ноя 03, 00:37    [423565]     Ответить | Цитировать Сообщить модератору
 Re: Как создать CDO объект из ActiveX Script Task  [new]
vdv
Member

Откуда:
Сообщений: 145
cscript myfile.vbs
проскакивает без ошибок т.е. получается ProgID верный. Почему же из DTS не работает...
19 ноя 03, 10:10    [423771]     Ответить | Цитировать Сообщить модератору
 Re: Как создать CDO объект из ActiveX Script Task  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
Может дело в пермишенах. Какую именно ошибку возвращает DTS пакет (надеюсь, что весь пакет - это приведенный выше ActiveX Task) при попытке выполнить?

Удачи
19 ноя 03, 17:12    [425013]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить