开发者

How can I prevent Informix-SQL users from viewing SQL procedures and changing other things?

INFORMIX-SQL 4.10.DD6 (DOS):

Although I'm able to prevent users from viewing source code for perform screens and ace reports by not providing them .per and .ace files, removing SFORMBLD.EXE, SACEPREP.EXE, but .sql procedur开发者_如何学Ces are still accesible to them because ISQL 4.10's query processor is interpreted (no way to prepare/compile the sql procedure). I would like to only provide a runtime version of my app where the end-user cannot view, modify or remove tables, sql procedures, etc.


Roughly speaking, you can't.

The stored procedure text is stored in the sysprocbody system catalog. If you're foolhardy, you can delete the text after creating the procedure (there is a 'linearized' version of the procedure stored in sysprocbody too), but it will never be reoptimized if you do that. If you drop an index that the stored procedure was using, it will stop working.

You normally have two or more users setup; one is the DBA (in SE - that is often informix), and then there is one (or better, many) other users that access the DB. Of course, this is DOS, so ownership is more tenuous as a concept, so maybe I'd better shut up about this. However, if DOS and ISQL + SE 4.10 support user separation, then use it.


or better yet, remove isql.exe, dbaccess & sqlcmd!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜