|
|
|
Как вызвать внешний скрипт (DLL) из триггера или процедуры Sybase
|
|||
|---|---|---|---|
|
#18+
Проблема заключается в следующем: Допустим нужно вызвать из триггера или процедуры внешний скрипт (DLL), то есть программу никакого отношения к Sybase не имеющую. Как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2004, 12:24 |
|
||
|
Как вызвать внешний скрипт (DLL) из триггера или процедуры Sybase
|
|||
|---|---|---|---|
|
#18+
Не совсем понятно. Если нужно вызвать именно программу , то надо использовать системную процедуру xp_cmdshell . Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Если нужна функция, описанная в какой-либо DLL, то надо создать процедуру для вызова внешней функции. Подробнее в главе "Creating procedures and functions with external calls". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2004, 13:37 |
|
||
|
Как вызвать внешний скрипт (DLL) из триггера или процедуры Sybase
|
|||
|---|---|---|---|
|
#18+
За системную процедуру спасибо. Попробую. У меня версия Sybase 11.5 стоит на Windows 2000. По вызову внешних процедур вопрос: 1. Имя процедуры в DLL должно совподать или нет с именем объявленной процедуры в Sybase. Если нет, то как узнать какую процедуру из DLL вызывать. 2. Появляется ошибка при попытки запуска внешний процедуры: Server Message: Number 11018, Severity 16 Procedure 'TestDLL', Line 1: XP Server must be up for ESP to execute. (return status = -6) Как я понял нужно поднять сервис XP Server. Он установлен по умолчанию с Sybase или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2004, 15:27 |
|
||
|
Как вызвать внешний скрипт (DLL) из триггера или процедуры Sybase
|
|||
|---|---|---|---|
|
#18+
Как говорит наш модератор - указывайте версию и название базы. :) Я ответил касательно ASA, с ASE работаю гораздо меньше и, соответственно, знаю меньше. Спрошу у своих администраторов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2004, 08:50 |
|
||
|
Как вызвать внешний скрипт (DLL) из триггера или процедуры Sybase
|
|||
|---|---|---|---|
|
#18+
sibircev DLL из xp_cmdcshell не вызовешь, так как она вызывает командный процессор ОС. Для подключения DLL читайте в BOL главы, посвященные Extended Stored Procedure . Сразу хочу сказать, что любую DLL подцепить нельзя - она должна совпадать с принятыми форматами вызовов и передачи параметров СУБД. P.S. А зачем Вам это понадобилось ? Может быть задачу можно решить без таких решений ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2004, 10:05 |
|
||
|
Как вызвать внешний скрипт (DLL) из триггера или процедуры Sybase
|
|||
|---|---|---|---|
|
#18+
Пишешь dll-ку потом из ASA, например в функции, делаешь таким образом: returns тип external name 'название_функции@название_dll.dll' Насколько я помню, делал так и работало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 11:28 |
|
||
|
Как вызвать внешний скрипт (DLL) из триггера или процедуры Sybase
|
|||
|---|---|---|---|
|
#18+
Привожу конкретный пример. использование функции GetComputerName из kernel32.dll 1.обьявляем внешную процедуру Сreate procedure getComputername(inout ComputerName char(32), inout BuuferLength integer) external name 'WindowsNT:GetComputerName@kernel32' 2. Как использовать create procedure procTemp() begin declare skey char(255); declare ikey integer; set skey=space(254); set ikey=254; call getComputerName(skey,ikey); set skey =trim(skey); set ikey=legth(skey); select skey,ikey end ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 10:59 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=32406746&tid=2014663]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 252ms |
| total: | 499ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...