2011-06-27 4 views
1

INFORMIX-SQL 4.10.DD6(DOS):Informix-SQLユーザーがSQLプロシージャーを表示したり他のものを変更したりするのを防ぐにはどうしたらいいですか?

私は.perそれらを提供しないことにより、画面とエースのレポートを実行するためのソースコードを見てからユーザーを防止しSFORMBLD.EXEを削除、ファイルを.aceすることができるよものの、 SACEPREP.EXEが、ISQL 4.10のクエリプロセッサが解釈されるため(SQLプロシージャを準備/コンパイルする方法がないため)、SQLプロシージャにアクセスできます。私は、エンドユーザーがテーブル、SQLプロシージャなどを表示、変更、または削除することができないアプリケーションのランタイムバージョンのみを提供したいと考えています。

答えて

2

大まかに言えば、できません。

ストアドプロシージャのテキストは、sysprocbodyシステムカタログに格納されます。あなたが愚かであれば、プロシージャを作成した後にテキストを削除することもできます(sysprocbodyにもプロシージャの「線形化」バージョンが格納されています)が、それを行うと再最適化されることはありません。ストアドプロシージャが使用していたインデックスを削除すると、そのインデックスは機能しなくなります。

通常、2人以上のユーザーがセットアップされています。 1つはDBA(SEでは - それはしばしばinformixです)であり、次にDBにアクセスする他のユーザーが1人(またはそれ以上)です。もちろん、これはDOSなので、オーナーシップはコンセプトとしてはもっと薄いです。だから、私はこれについてよく黙っておいてください。ただし、DOSとISQL + SE 4.10がユーザー分離をサポートしている場合は、それを使用してください。

+0

DOS版はユーザー分離をサポートしていますが、拡張子が.sqlのASCIIテキストファイルとして保存されているSQLプロシージャを準備(コンパイル)する方法はありません。 –

0

以上、isql.exe、dbaccess & sqlcmdを削除してください。

+0

コメント欄に記入してください。 –

関連する問題