Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 javascript в процедуре  [new]
oleg_b1
Member

Откуда:
Сообщений: 13
День добрый.
Подскажите, есть ли возможность внутри сохраненной процеруры (либо clr) выполнить javascript?
Сервер 2008 R2 x64.

Спасибо.
28 сен 11, 14:09    [11348162]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
oleg_b1,
сохранить скрип в файл на компьютере, а дальше
exec xp_cmdshell '...'
28 сен 11, 14:12    [11348194]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
oleg_b1
Member

Откуда:
Сообщений: 13
trew
сохранить скрип в файл на компьютере

не хотелось бы
вот джобы же выполняют, а как? врядли файлами пользуются.
28 сен 11, 14:17    [11348251]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
oleg_b1
вот джобы же выполняют

будете удивлены, но в приложении sqlagent.exe ,метаданные храняться в msdb .
28 сен 11, 14:19    [11348267]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
Glory
Member

Откуда:
Сообщений: 104751
oleg_b1
вот джобы же выполняют, а как? врядли файлами пользуются.

джобы не выполняют а дают команду Агенту их выполнить
28 сен 11, 14:20    [11348270]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
oleg_b1
Member

Откуда:
Сообщений: 13
Хорошо, дают команду.
Только вопрос в том как выполняется, по средствам чего, именно кто их выполняет (activex, нет ?), и можно ли применить это у себя?
Ну либо, есть ли иные способы (только без файлов, скрипты динамические, поэтому с файлами не пойдет)?
28 сен 11, 14:35    [11348415]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
Glory
Member

Откуда:
Сообщений: 104751
oleg_b1
Только вопрос в том как выполняется, по средствам чего, именно кто их выполняет

SQL Server Agent читает содержимое шагов, сохраненное в базе msdb и выполняет
28 сен 11, 14:36    [11348437]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
oleg_b1
Member

Откуда:
Сообщений: 13
Glory,
Нет, как работает агент не очень интересует. Интересует кто выполняет сценаий самого яваскрипта.

В 32 разрядном сервере мы не долго думаю взяли ms scriptcontrol, а тут его 64 разрядного нет... стали искать другие способы.
Microsoft.JScript в clr не хочет, так так не является такой специфической сборкой. Хоть ты над ним сом обертку пиши, что не хотелось бы, опять таки установку в систему и т.д.
Вот и посмотрели что агент то выполняет, а как...
28 сен 11, 14:47    [11348551]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
oleg_b1
Glory,
Нет, как работает агент не очень интересует. Интересует кто выполняет сценаий самого яваскрипта.

В 32 разрядном сервере мы не долго думаю взяли ms scriptcontrol, а тут его 64 разрядного нет... стали искать другие способы.
Microsoft.JScript в clr не хочет, так так не является такой специфической сборкой. Хоть ты над ним сом обертку пиши, что не хотелось бы, опять таки установку в систему и т.д.
Вот и посмотрели что агент то выполняет, а как...

в свойствах шага агента написано как (с помощью чего) он выполняет задание этого шага
28 сен 11, 14:51    [11348600]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
Glory
Member

Откуда:
Сообщений: 104751
oleg_b1
Нет, как работает агент не очень интересует. Интересует кто выполняет сценаий самого яваскрипта.

Вам уже сказали. Сервер выполняет скрипты на TSQL.
28 сен 11, 14:52    [11348611]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
oleg_b1
Member

Откуда:
Сообщений: 13
WarAnt
в свойствах шага агента написано как (с помощью чего) он выполняет задание этого шага

в свойствах мы сами выбираем, ActiveX Script + JScript, остается узнать чтож это за ActiveX. Подскажите?
28 сен 11, 15:04    [11348747]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
oleg_b1
WarAnt
в свойствах шага агента написано как (с помощью чего) он выполняет задание этого шага

в свойствах мы сами выбираем, ActiveX Script + JScript, остается узнать чтож это за ActiveX. Подскажите?

ну наверное что типа этого
28 сен 11, 15:06    [11348767]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
Glory
Member

Откуда:
Сообщений: 104751
oleg_b1
в свойствах мы сами выбираем, ActiveX Script + JScript, остается узнать чтож это за ActiveX. Подскажите?

ActiveX Script это тип шага
а JScript - это язык скрипта в шаге
28 сен 11, 15:08    [11348785]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
oleg_b1
Member

Откуда:
Сообщений: 13
Либо я плохо объясняю ...
WarAnt,
Как создавать объект рассказывать не надо. Это понятно. Не понятно объект какого типа и из какой сборки/библиотеки/компонента?
грубо говоря new ActiveXObject("ХХХ.ххх"), тут вместо ХХХ.ххх что? т.е. какой/чей движок используется

Glory, вы опять мне пытаетесь объяснить работу агента, но это не интересно.
Вот агент дошел до нашего шага с яваскриптом выяснил какого типа, какой язык и т.п. Дальше что он использует чтобы выполнить сценарий этого самого яваскрипта?


Да и вообще джоб это как илюстрация того что в сервере есть возможность выполнить.
А как это сделать в сохраненой процедуре, чем надо воспользоватся чтобы достичь результата?
Воспользоватся ole automation, тогда что использовать при sp_OACreate? Чем то другим - чем, как?

Ну совсем просто, есть
CREATE PROCEDURE ZZ
AS
BEGIN
DECLARE @script varchar(max) = 'function x(a, b) { return a+b; }',
@rezult int


....
SET @rezult = ...

END
что надо написать вместо многоточий, чтобы в @rezult пришло значение после выполнения функции х?
28 сен 11, 15:37    [11349073]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
shut-up-and-skate
Member

Откуда: ВАО
Сообщений: 4259
oleg_b1
Glory, вы опять мне пытаетесь объяснить работу агента, но это не интересно.
Вот агент дошел до нашего шага с яваскриптом выяснил какого типа, какой язык и т.п. Дальше что он использует чтобы выполнить сценарий этого самого яваскрипта?

так ты возьми и посмотри!
28 сен 11, 15:42    [11349136]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
Glory
Member

Откуда:
Сообщений: 104751
oleg_b1
Glory, вы опять мне пытаетесь объяснить работу агента, но это не интересно.
Вот агент дошел до нашего шага с яваскриптом выяснил какого типа, какой язык и т.п. Дальше что он использует чтобы выполнить сценарий этого самого яваскрипта?

он использует реализованный его создателями механизм
Такой же механизм должны реализовать и вы
Или использовать чужой, который выложен для использования

oleg_b1
Да и вообще джоб это как илюстрация того что в сервере есть возможность выполнить.

возможности сервера и возможности языка TSQL - это разные возможности

oleg_b1
Воспользоватся ole automation, тогда что использовать при sp_OACreate? Чем то другим - чем, как?

Ну так найдите ole automation и используйте
28 сен 11, 15:42    [11349138]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
oleg_b1,

вы не понимаете, sql ageте и mssql server СОВЕРШЕННО разные продукты и к друг другу имеют ОЧЕНЬ опосредованное отношение, sql agent для sql server является точно таким же клиентом как и все остальные клиенты СУБД. И то что умеет делать agent никак не связано с функционалом mssql server.
Поэтому вы копаете не там, вопросы как запустить activx скрипт задаете на на том форуме.
28 сен 11, 15:43    [11349157]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
oleg_b1
Member

Откуда:
Сообщений: 13
Да вопрос состоит не в том как запустить а ЧТО запустить.
Проблема в том что сервер 64 разрядный, и гогда он пытается загрузить 32 разрядные библиотеки, вываливается ошибка.
Вот я писал что для 32 мы использовали ms scriptcontrol который без вопросов загружался и выполнял яваскрипт. Когда перешли на 64 вылезла эта проблема и пока мы не знаем как ее решить. ms scriptcontrol на 64 в природе не существует.
Агент выполняет шаги с яваскриптом нормально, поэтому и стал вопрос как он это делает.
А вы накинулись сразу объяснять что это разные вещи и т.д. это все и так понятно. Но он тоже 64 и работает. Конечно может он исполььзует какието хитрые механизмы, незнаю, думал тут кто подскажет.
Вобщем забудте про агента как будто его нет и небыло никогда. :)

Возвратимся к вопросу топика, кто-нибудь встречался с подобной задачей, решили ли и как? вариант с файлами отпадает.
28 сен 11, 16:15    [11349506]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
Glory
Member

Откуда:
Сообщений: 104751
oleg_b1
Да вопрос состоит не в том как запустить а ЧТО запустить.

MSSQL тут причем ?
28 сен 11, 16:17    [11349518]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
oleg_b1
Member

Откуда:
Сообщений: 13
Во первых скрипты динамические и во вторых дисковые операции (а придется постоянно писать/читать/удалять) очень затратны по времени, а система требовательна. Скорость обработки критична.
28 сен 11, 16:22    [11349586]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
Glory
Member

Откуда:
Сообщений: 104751
oleg_b1
Во первых скрипты динамические и во вторых дисковые операции (а придется постоянно писать/читать/удалять) очень затратны по времени, а система требовательна. Скорость обработки критична.

Еще раз
Какое отношение MSSQL имеет к запуску ваших скриптов ?
Найдите работающий механизм и используйте его
28 сен 11, 16:24    [11349615]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
oleg_b1
Member

Откуда:
Сообщений: 13
Glory, не понял.
Необходимо реализовать расчет в рамках работы сохраненой процедуры , которая находится в базе данных под управлением субд MS SQL SERVER. Никаких клиентов при этом нет, все автономно.
Или вы про что?
28 сен 11, 16:26    [11349640]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
oleg_b1
Member

Откуда:
Сообщений: 13
Glory
Найдите работающий механизм и используйте его
Собственно я за этим сюда и пришел, если вы не заметили.
28 сен 11, 16:29    [11349680]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
oleg_b1, просто интересно: "Что у вас такого супернепереносимого, что нельзя сделать средствами самих хранимок, или CLR?". Но если вам всеже нужно удалять гланды через жопу, то совет 11348194 вам дали сходу.
28 сен 11, 16:30    [11349693]     Ответить | Цитировать Сообщить модератору
 Re: javascript в процедуре  [new]
Glory
Member

Откуда:
Сообщений: 104751
oleg_b1
Glory
Найдите работающий механизм и используйте его
Собственно я за этим сюда и пришел, если вы не заметили.

механизмы запуска внешних приложений у сервера такие
xp_cmdshell
oledb automation
CLR

выбирайте любой для запуска вашего внешнего приложения
28 сен 11, 16:32    [11349705]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить