Речь о MS SQL
Раньше пользовался следующим
Вызывал функцию SqlExecDirect('Proc1')
При этом на сервере запускалась хранимка с именем. , либо в ms70drv.log писалось сообщение "Не удалось вызвать процедуру с именем" (если ее нет)
Сейчас делаю следующее
SqlExecDirect('GetDBUserName')
- в логе ничего не пишется, ошибка 30006
Когда написал sp_exec GetDBUserName - в логе появилось
22.12.2010 11:34:30 [UTM_20100417#GALAKTIKA]:
sp_exec GetDBUserName
22.12.2010 11:34:30 [UTM_20100417#GALAKTIKA]:
Ошибка(1,9): Синтаксическая ошибка в SQL запросе "G"
Как запустить хранимую процедуру функцией SqlExecDirect
-
- топ-софт
- Сообщения: 566
- Зарегистрирован: Пт, 21/09/2007 15:19
- Имя Фамилия: Фёдор Терсин
- Откуда: Галактика Софт
- Контактная информация:
Re: Как запустить хранимую процедуру функцией SqlExecDirect
Выдержка из документации:
Коды ошибок обращения к БД
....
tsDirectSQLStoredNotFound
30006
Хранимая процедура не найдена. Приложение пытается выполнить функцией SqlExecDirect запрос, состоящий из вызова хранимой процедуры, которая не была зарегистрирована.
-
- партнер
- Сообщения: 82
- Зарегистрирован: Ср, 19/09/2007 08:35
- Имя Фамилия: Максим Шагубаков
- Откуда: Галактика-Урал
- Контактная информация:
Re: Как запустить хранимую процедуру функцией SqlExecDirect
Проблема не в том, что я не знаю кода ошибки 30006.
Вопрос (указанный в теме) скорее в том, как запустить хранимую процедуру, которая находится в базе на SQL server
В базе точно есть хранимая процедура dbo.GetCurrOffice
Пробовал запустить ее следующими командами
dbo.GetCurrOffice
GetCurrOffice
sp_exec dbo.GetCurrOffice
sp_exec GetCurrOffice
Вопрос (указанный в теме) скорее в том, как запустить хранимую процедуру, которая находится в базе на SQL server
В базе точно есть хранимая процедура dbo.GetCurrOffice
Пробовал запустить ее следующими командами
dbo.GetCurrOffice
GetCurrOffice
sp_exec dbo.GetCurrOffice
sp_exec GetCurrOffice
-
- топ-софт
- Сообщения: 566
- Зарегистрирован: Пт, 21/09/2007 15:19
- Имя Фамилия: Фёдор Терсин
- Откуда: Галактика Софт
- Контактная информация:
Re: Как запустить хранимую процедуру функцией SqlExecDirect
Никак. Через DSQL можно запускать только то, что через DSQL описано.
А зачем вообще для выяснения номера текущего офиса запускать DSQL?
А зачем вообще для выяснения номера текущего офиса запускать DSQL?
-
- партнер
- Сообщения: 82
- Зарегистрирован: Ср, 19/09/2007 08:35
- Имя Фамилия: Максим Шагубаков
- Откуда: Галактика-Урал
- Контактная информация:
Re: Как запустить хранимую процедуру функцией SqlExecDirect
Эту процедуру я пытался запустить просто для примера
Жаль, что работающую недокументированную возможность закрыли
Ладно, у меня она в принципе, маленькая, попробую ее на DSQL генерить и запускать
Спасибо за ответ
Жаль, что работающую недокументированную возможность закрыли
Ладно, у меня она в принципе, маленькая, попробую ее на DSQL генерить и запускать
Спасибо за ответ
-
- заказчик
- Сообщения: 46
- Зарегистрирован: Вт, 13/01/2009 10:52
- Имя Фамилия: Сергей Головчак
- Откуда: Гипротрубопровод
Re: Как запустить хранимую процедуру функцией SqlExecDirect
А GetCurrOffice так и не запустится. Будет попытка запустить S$GetCurrOffice.Max_Ural писал(а):Эту процедуру я пытался запустить просто для примера
Жаль, что работающую недокументированную возможность закрыли
Ладно, у меня она в принципе, маленькая, попробую ее на DSQL генерить и запускать
Спасибо за ответ
-
- топ-софт
- Сообщения: 566
- Зарегистрирован: Пт, 21/09/2007 15:19
- Имя Фамилия: Фёдор Терсин
- Откуда: Галактика Софт
- Контактная информация:
Re: Как запустить хранимую процедуру функцией SqlExecDirect
Делайте на DSQL процедуру/функцию - заглушку, затем вручную меняйте её код на то, что хочется.
Если на DSQL нельзя нужный код написать.
Если на DSQL нельзя нужный код написать.