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

Откуда:
Сообщений: 14
Народ помогите!
Ситуация следующая.... Есть прога писанная нп ДЕлфи... есть база...
Ни с того ни с сего перестала работать хранимая процедура....
На серваке запускаем .... работает, на пользовательских станциях не хочет....
Самое интересно, что раньше работало... Доступов не изменяли, процедуру не изменяли, программу не изменяли..... Вирусов нет..... Знаю, что чудес не бывает, но.........
Хоть попа вызывай... ;о)
Помогите, плииииз!
17 окт 03, 13:06    [381085]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
Glory
Member

Откуда:
Сообщений: 104760
на пользовательских станциях не хочет....

И что это "не хочет" означает конкретно ???
17 окт 03, 13:08    [381090]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
wispa
Member

Откуда:
Сообщений: 14
Вылазит якобы ощибка синтаксиса в хр.процедуре.... Но ее там нет....
На серваках-то работает.... Доступы проверели - все путем...
17 окт 03, 13:13    [381103]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Вылазит якобы ощибка синтаксиса в хр.процедуре....

Поконкретней бы сообщение об ошибке. Трассу вызова хп с клиента. Исходник хп.
17 окт 03, 13:15    [381109]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
wispa
Member

Откуда:
Сообщений: 14
Вот код программы:

Schet.ADOStoredProc1.Active := false;
Schet.ADOStoredProc1.Prepared := false;
Schet.ADOStoredProc1.Parameters.Items[1].Value := SCHETA.ID_DOG;
Schet.ADOStoredProc1.Parameters.Items[2].Value := SCHETA.VID_DOG;
Schet.ADOStoredProc1.Parameters.Items[3].Value := SCHETA.NEW_NOMER;
Schet.ADOStoredProc1.Parameters.Items[4].Value := SCHETA.ID_SCHET;
Schet.DBGrid1.ReadOnly := true;
Schet.ToolBar1.Enabled := false;
Schet.ToolBar2.Enabled := false;
Schet.ADOStoredProc1.Prepared := true;
Schet.ADOStoredProc1.Active := true;
ОШИБКА!!!
....................................................
.............................................................

Процедурка:

REATE PROCEDURE View_Schet
(
@id_dog bigint
, @vid_dog int
, @nomer int
, @id_schet int
)
AS
Select *
From SCHET_ROWS
Where SCHET_ROWS.ID_DOG=@id_dog And SCHET_ROWS.VID_DOG=@vid_dog And SCHET_ROWS.ID_SCHET=@id_schet --And SCHET_ROWS.NOMER=@nomer
GO
17 окт 03, 13:23    [381130]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
Петр
Member

Откуда: Москва
Сообщений: 775
Описание ошибки плз!
17 окт 03, 13:31    [381149]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
--And и SCHET_ROWS.NOMER=@nomer на разных строках, это так наверное форум перенес, да?

НУ а трасса из профайлера где? И синтаксическая ошибка не при преобразовании типов возникает.
17 окт 03, 13:32    [381154]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
wispa
Member

Откуда:
Сообщений: 14
Ругается на неверный символ в первой строке запроса ","
17 окт 03, 13:38    [381169]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
wispa
Member

Откуда:
Сообщений: 14
А где трассу посмотреть???
17 окт 03, 13:38    [381170]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
Дятел
Member

Откуда: Оттуда
Сообщений: 348
Утилита есть. Profiler называется
17 окт 03, 13:49    [381215]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
F_Gump
Member

Откуда: Warsaw
Сообщений: 177
2wispa
не знаю у меня такая шняга была с VB макро оказалось, что юзер установки региональные поменял и символы ему интепритировались по другому в этом макре...
проверте установки винды


***
Forrest's Mother:
Life's a box of chocolates, Forrest. You never know what you're gonna get.
17 окт 03, 14:13    [381288]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
wispa
Member

Откуда:
Сообщений: 14
Вот расировка работы с рабочей станции...
exec sp_procedure_params_rowset N'View_Schet_New', 1, NULL, NULL
тут все понятно..... и видна сразу запятая На которую ругаемся........
А вот как таже прога выполнилась на серваке...
exec sp_procedure_params_rowset N'View_Schet_New' 1430, 4, 17, 32118
17 окт 03, 15:45    [381575]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
wispa
Member

Откуда:
Сообщений: 14
ПОМОГИТЕ!!! ПЛИИИИИЗ!
17 окт 03, 16:21    [381682]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
exec sp_procedure_params_rowset N'View_Schet_New', 1, NULL, NULL 


Вызов то правильный. Не ту трассу показываешь. Дальше че идет?
17 окт 03, 16:27    [381700]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
wispa
Member

Откуда:
Сообщений: 14
Дальше строчка
SET NO_BROWSETABLE ON
17 окт 03, 16:32    [381717]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
wispa
Member

Откуда:
Сообщений: 14
дык, помоему там параметры потерялись.....
Подскажите где искать в проге? А может чего с серваком?
17 окт 03, 16:37    [381733]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Ниче там не потерялось. А пока ты нам не покажешь, какой код вызывает ошибку, ниче тебе тут не скажут. Выстави в профайлере ивенты на старт и на комплетед. Та инструкция,для которой не будет комплетед и есть ошибочна. ВОт ее и давай сюда.
17 окт 03, 16:42    [381748]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: HELP!!!  [new]
Underking
Member

Откуда: Rostov-on-Don
Сообщений: 488
Столкнулся с похожей проблемой.
Есть клиент (Delphi 5), есть хранимая процедура выполняющая SELECT, которая из квери аналайзера нормально отрабатывается. Но при вызове из клиента, перед самим запуском процедуры профилер ловит установку SET NO_BROWSETABLE ON, а после SET NO_BROWSETABLE OFF.
На клиенте возникает следующее (клиент пишу не я, поэтому объясняю на пальцах, в данный момент нет возможности поработать с его исходниками), вызывается процедура, получаются данные, проверяется, достигнут ли конец файла, вычитывается первая строка, происходит переход на следующую строку, переходится на проверку достижения конца файла и так далее по циклу. Но в итоге выскакивает ошибка выхода за конец файла. По утверждению автора клиента, работа с этой процедурой написана также как и работа с остальными подобными процедурами, ошибок не должно быть.

Я долго в профилере следил за работой клиента, это единственное место, где перед запросом производится NO_BROWSETABLE ON.
Я прочитал форум, все что выдается в поиске по NO_BROWSETABLE, но так и не понял, что же это такое. Было описание на английском языке, но я не настолько хорошо его знаю чтоб нормально перевести.

В чем может быть проблема в данной ситуации? В клиенте, в ADO, в сервере, в настройках сервера, в процедуре (хотя она обычная и ничего аномального в ней нет)?

автор
Выстави в профайлере ивенты на старт и на комплетед. Та инструкция,для которой не будет комплетед и есть ошибочна. ВОт ее и давай сюда.

Можно чуть подробней, что именно ловить?
Просто на сервере все отрабатывается нормально, клиент что-то не получает.
29 сен 05, 12:57    [1922373]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
PilgrimFM
Member

Откуда:
Сообщений: 5
А на всякий случай напишите в начале процедуры, перед запросом -

SET NOCOUNT ON

Когда вызов производится через ADO, если NOCOUNT имеет значение OFF, процедура не возвращает рекордсет.
29 сен 05, 13:33    [1922657]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
Underking
Member

Откуда: Rostov-on-Don
Сообщений: 488
Не помогло.
29 сен 05, 14:33    [1923063]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
Underking
Member

Откуда: Rostov-on-Don
Сообщений: 488
И клиент не жалуется на то, что ничего не получил.
Он почему-то считает что получил либо больше записей, либо ничего не получил, а считает что получил.
29 сен 05, 14:35    [1923075]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
Helgunya
Member

Откуда: Лучшее время года
Сообщений: 3017
wispa
Вот расировка работы с рабочей станции...
exec sp_procedure_params_rowset N'View_Schet_New', 1, NULL, NULL
тут все понятно..... и видна сразу запятая На которую ругаемся........
А вот как таже прога выполнилась на серваке...
exec sp_procedure_params_rowset N'View_Schet_New' 1430, 4, 17, 32118

Я конечно дуб в клиентских делах и наверное чё-то не понимаю, но на серваке процедура с 4 параметрами вызывается (как она и описана), а на клиенте?
29 сен 05, 14:43    [1923136]     Ответить | Цитировать Сообщить модератору
 Re: HELP!!!  [new]
Helgunya
Member

Откуда: Лучшее время года
Сообщений: 3017
Helgunya
wispa
Вот расировка работы с рабочей станции...
exec sp_procedure_params_rowset N'View_Schet_New', 1, NULL, NULL
тут все понятно..... и видна сразу запятая На которую ругаемся........
А вот как таже прога выполнилась на серваке...
exec sp_procedure_params_rowset N'View_Schet_New' 1430, 4, 17, 32118

Я конечно дуб в клиентских делах и наверное чё-то не понимаю, но на серваке процедура с 4 параметрами вызывается (как она и описана), а на клиенте?

все, дошло, осознала.
29 сен 05, 15:06    [1923273]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить