![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Безопасность mssql2000 или ёжик в тумане [D6, MSSQL]
Vlad2 © (2002-09-05 11:19:00)Здравствуйте !
Помогите разобраться.
delphi6, ado, mssql2000
На сервере существует процедура spname, её владелец cornet.
Когда клиент вызывает процедуру spname как adosp.ProcedureName = spname, сервер сообщает "could not find stored procedure "spname" ". Если на сервере изменить владельца sp на dbo: cornet.spname -> dbo.spname, клиентское приложение работает верно. Права на выполнение cornet.spname, конечно, прописаны. Получается, что провайдер sql формирует полное имя объекта как [dbo].[имя процедуры], но на клиенте adoConnection видит (!) cornet.spname. Почему я не могу обратиться к видимому объекту ?
Vlad2 (2002-09-05 12:39:00) [1]> Shaman_Naydak
Да, да, спасибо. И ещё, умные люди говорят, что вначале сервер ищет объект [userName].[objectName], затем [dbo].[objectName], а потом ругается. Вывод, наверное такой: при создании storedProcedure указывать полное имя, т.е. [owner].[nameStoredProc].
"И все будет путем!"
Shaman_Naydak (2002-09-05 12:29:00) [2]Если я правильно понял adosp - это TADOStoredProcedure.
В общем, беда тут такая..
показывает он список процедур без владельцев, а вот вызвать их, не указывая владельца можно только для dbo-шных..НО
Кто мешает тебе указывать полное имя процедуры?
Присаваивай ProcedureName:=cornet.spName
И все будет путем!