Как я могу запретить пользователям Informix-SQL просматривать процедуры SQL и изменять другие вещи? - PullRequest
1 голос
/ 28 июня 2011

INFORMIX-SQL 4.10.DD6 (DOS):

Несмотря на то, что я могу запретить пользователям просматривать исходный код для рабочих экранов и асе отчетов, не предоставляя им файлы .per и .ace, удаляя SFORMBLD.EXE, SACEPREP.EXE, но .sql процедуры по-прежнему доступны для них, потому что обработчик запросов ISQL 4.10 интерпретируется (нет способа подготовить / скомпилировать процедуру sql).Я хотел бы предоставить только версию моего приложения, в которой конечный пользователь не может просматривать, изменять или удалять таблицы, процедуры sql и т. Д.

Ответы [ 2 ]

2 голосов
/ 28 июня 2011

Грубо говоря, вы не можете.

Текст хранимой процедуры сохраняется в системном каталоге sysprocbody. Если вы безрассудны, вы можете удалить текст после создания процедуры (в sysprocbody также есть «линеаризованная» версия процедуры), но она никогда не будет повторно оптимизирована, если вы сделаете это. Если вы удалите индекс, который использовала хранимая процедура, он перестанет работать.

Обычно у вас есть два или более пользователя; один - это администратор базы данных (в SE - это часто informix), а затем есть один (или, что лучше, много) других пользователей, которые обращаются к базе данных. Конечно, это DOS, так что владение более концептуально, поэтому, может быть, мне лучше помолчать об этом. Однако, если DOS и ISQL + SE 4.10 поддерживают разделение пользователей, используйте его.

0 голосов
/ 01 сентября 2011

или лучше, удалите isql.exe, dbaccess & sqlcmd!

...