Вниз
Скачать: CL | DM;

Безопасность mssql2000 или ёжик в тумане   Найти похожие ветки 

 
Vlad2   (2002-09-05 11:19) [0]

Здравствуйте !
Помогите разобраться.
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. Почему я не могу обратиться к видимому объекту ?


 
Shaman_Naydak ©   (2002-09-05 12:29) [1]

Если я правильно понял adosp - это TADOStoredProcedure.

В общем, беда тут такая..
показывает он список процедур без владельцев, а вот вызвать их, не указывая владельца можно только для dbo-шных..НО
Кто мешает тебе указывать полное имя процедуры?
Присаваивай ProcedureName:=cornet.spName
И все будет путем!


 
Vlad2   (2002-09-05 12:39) [2]

> Shaman_Naydak
Да, да, спасибо. И ещё, умные люди говорят, что вначале сервер ищет объект [userName].[objectName], затем [dbo].[objectName], а потом ругается. Вывод, наверное такой: при создании storedProcedure указывать полное имя, т.е. [owner].[nameStoredProc].
"И все будет путем!"



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
14-85687
Елена
2002-09-02 06:48
2002.09.26
Оффлайн браузер


1-85452
novill
2002-09-16 09:38
2002.09.26
QRpreview не показывает линии. Что делать?


14-85647
Jee
2002-08-30 12:53
2002.09.26
Delphi 7 Studio


1-85591
Talvin
2002-09-14 23:20
2002.09.26
Базы данных!


1-85442
Skif
2002-09-16 08:02
2002.09.26
Переименовать по маске




   Наверх