Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SQLEXEC возвращает ошибку / 6 сообщений из 6, страница 1 из 1
23.01.2004, 12:37
    #32386008
Newb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLEXEC возвращает ошибку
Ситуация, SQLEXEC запускает хранимую процедуру на MS-SQL 2000. Возвращает ошибку, хотя сама процедура выполняется, причем правильно (смотрю по результирующим таблицам)

Есть такое предположение:
В начале процедуры стоит DROP TABLE ##TmpTbl (на всякий случай)
Возможно ошибка связана с отсутствием этой таблицы, хотя логика работы SQL такова что процедура споткнувшись об отсутствующую таблицу продолжает выполняться и нормально завершается.

В этом ли дело?
И как это можно обойти.

Спасибо
...
Рейтинг: 0 / 0
23.01.2004, 12:44
    #32386024
Crip
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLEXEC возвращает ошибку
Появление ошибки в работе процедуры не прерывает ее выполнение по умолчанию. При этом клиент получает сообщение о том что ошибка произошла.
Для того чтобы процедура прерывалась можно воспользоваться
set xact_abort on
Или проверять @@error после каждого критичного оператора.
Для конкретно вашего случая можно еще добавить такой код

if object_id('tempdb..##TmpTbl') is not null
DROP TABLE ##TmpTbl
...
Рейтинг: 0 / 0
24.01.2004, 04:04
    #32386808
Newb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLEXEC возвращает ошибку
Увы, как оказалось дело не в этом. (Или скорее всего не только в этом)
Ошибка по прежнему остается.
Я тут задумался а не связано ли это с тем что Фокс просто не дожидается окончания выполнения процедуры (~1 мин.)?
...
Рейтинг: 0 / 0
29.01.2004, 09:29
    #32391772
Samir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLEXEC возвращает ошибку
В SQL-e есть QUERY ANALAYZER и PROFILER
я пользуюсь ими для отладки
...
Рейтинг: 0 / 0
13.02.2004, 08:47
    #32408024
rusql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLEXEC возвращает ошибку
Не знаю в чем проблема?
SQLEXEC выполняет только Select.
Update, Insert, Create Table - не выполняются.

Подключаюсь так:
STORE SQLCONNECT('SQL', 'Sa', 'Sa') TO SqlServ

Это не помогает:
= SQLSETPROP(SqlServ, 'Transactions', 2)
= SQLCOMMIT(SqlServ)
...
Рейтинг: 0 / 0
13.02.2004, 09:36
    #32408075
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLEXEC возвращает ошибку
Если речь идет о MS SQL, то проверь права на выполнение операций модификации в самой базы (Permission). Может у тебя права только на чтение.

А подробную информацию об ошибке можешь получить по AERROR()

Код: plaintext
1.
2.
3.
4.
IF SQLExec(SqlServ, "..." )< 0 
	LOCAL laError( 1 )
	=AERROR(laError)
	MessageBox( "Ошибка " +STR(laError[ 5 ])+chr( 13 )+laError[ 2 ])
ENDIF
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SQLEXEC возвращает ошибку / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]