开发一个MIS系统,数据库用oracle9i。系统有三个单位的用户,希望不同单位的用户只能操作与其相关的数据表和公共数据表。我考虑在oracle 里数据库中建几个不同的用户,使不同单位的用户进入系统时,使用不同的连接字符串(以不同的用户身份进入),从而可操作的数据表是不同的。不知道这样可否:建立一个数据库用户,这个数据库用户具有较低的权限等级,只能访问那张应用系统的用户信息表(该表中包含用户的单位信息)。第一次登录时,用这个数据库用户连接数据库(连接成功后将连接信息记录到注册表或其它配置文件中),从那张应用系统的用户信息表中读取当前登录应用系统的用户的单位,然后断开数据库连接,根据用户单位选择合适的数据库用户(具有访问特定表的权限),以另外的连接字符串重新连接数据库,再登录系统。以后再登录时可以直接从注册表或其它配置文件中读取连接信息。但是这样在登录时要连接两次数据库,等待时间太长了,不知还有别的好办法吗?