Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2008, 09:25   #1
nimf
Пользователь
 
Регистрация: 29.08.2007
Сообщений: 51
Восклицание Компиляция SQl процедур

Уважаемые программисты. Подскажите пожалуйста, можно ли как нибудь скомпилировать хранимые процедуры в SQl server таким образом чтобы их нельзя было менять или вообще закрыть к ним доступ??? Буду очень благодарен за помощь!
nimf вне форума Ответить с цитированием
Старый 18.04.2008, 12:40   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Вообще-то суть хранимых процедур в том и состоит, что на сервере они находятся в скомпилированном виде, без исходника.
Закрыть к ним доступ??? А какой тогда смысл в их существовании, если ими нельзя будет воспользоваться?
Впрочем, есть понятие разграничения прав доступа. Почитайте мануал и этот вопрос должен проясниться...
Цитата:
Разработчик может управлять правами доступа к хранимой процедуре, разрешая или запрещая ее выполнение. Изменять код хранимой процедуры разрешается только ее владельцу или члену фиксированной роли базы данных. При необходимости можно передать права владения ею от одного пользователя к другому.

Последний раз редактировалось mihali4; 18.04.2008 в 13:19.
mihali4 вне форума Ответить с цитированием
Старый 18.04.2008, 12:46   #3
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

sql не компилируемый язык, начнем с этого )
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 18.04.2008, 13:18   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Квэнди, при всем уважении к уровню ваших знаний... но...
Цитата:
Сообщение от Квэнди Посмотреть сообщение
sql не компилируемый язык, начнем с этого )
Википедия, http://ru.wikipedia.org/wiki/Хранимая_процедура:
Цитата:
В большинстве СУБД при первом запуске хранимой процедуры она компилируется (выполняется синтаксический анализ и генерируется план доступа к данным). В дальнейшем её обработка осуществляется быстрее. В СУБД Oracle выполняется интерпретация хранимого процедурного кода, сохраняемого в словаре данных. Начиная с версии Oracle 10g поддерживается так называемая естественная компиляция (native compilation) хранимого процедурного кода в Си и затем в объектный код целевой машины, после чего при вызове хранимой процедуры происходит прямое выполнение её скомпилированного объектного кода.

Последний раз редактировалось mihali4; 18.04.2008 в 13:42.
mihali4 вне форума Ответить с цитированием
Старый 18.04.2008, 13:43   #5
nimf
Пользователь
 
Регистрация: 29.08.2007
Сообщений: 51
По умолчанию

Дело в том что я хочу отдать свою программу но не хочу чтобы кто-то мог смотреть и изменять мою процедуру. Тоесть какбы сделать так чтобы она вообще была не доступна даже для просмотра??????
nimf вне форума Ответить с цитированием
Старый 18.04.2008, 13:53   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Вы настолько уверены, что текст вашей сторед-процедуры представляет собой ноу-хау?
Весьма сомнительно.
Но, если уж вам так хочется - регистрируйте изобретение...
mihali4 вне форума Ответить с цитированием
Старый 18.04.2008, 23:26   #7
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
В большинстве СУБД при первом запуске хранимой процедуры она компилируется (выполняется синтаксический анализ и генерируется план доступа к данным). В дальнейшем её обработка осуществляется быстрее. В СУБД Oracle выполняется интерпретация хранимого процедурного кода, сохраняемого в словаре данных. Начиная с версии Oracle 10g поддерживается так называемая естественная компиляция (native compilation) хранимого процедурного кода в Си и затем в объектный код целевой машины, после чего при вызове хранимой процедуры происходит прямое выполнение её скомпилированного объектного кода.
Если рассматриваем SQL диалект, то он некомпилируемый, а сервер всего лишь его оптимизирует, как и любой другой sql запрос перед выполнением. В Wiki же идет речь не об SQL диалекте, а об PL языке, который дейтсивтельно может быть скомпилирован(точнее преобразован) в С-код.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 18.04.2008, 23:27   #8
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
Сообщение от nimf Посмотреть сообщение
Дело в том что я хочу отдать свою программу но не хочу чтобы кто-то мог смотреть и изменять мою процедуру. Тоесть какбы сделать так чтобы она вообще была не доступна даже для просмотра??????
Не давать подобных прав пользователям СУБД.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как происходит Компиляция? ZhekON Свободное общение 21 22.04.2010 10:06
Компиляция. Бро Общие вопросы C/C++ 2 03.06.2008 06:46
Компиляция xGroupers Общие вопросы Delphi 1 24.03.2008 11:57
Компиляция Lonix Общие вопросы Delphi 2 16.09.2007 16:22
Компиляция .exe в Delphi Alar Общие вопросы Delphi 5 14.11.2006 08:43