连接池与SQL Server 2000 Analysis Services
2006-08-05 09:16:35 来源:WEB开发网对于客户端应用程序来说,将连接返回到连接池是一个非常简单的过程。客户端应用程序将连接引用传递回连接池对象(ADOConPool 对象使用 ReturnConnection 方法,而 OLEDBConPool 对象使用 ReturnSession 方法)。连接池对象验证传递回的连接对象是否确实属于该连接池,然后才将其放回可用连接池中。
注意事项
如果用户请求了某个连接,将其释放,然后又从连接池对象中请求另一个连接,则根据连接池内的活动连接重新验证用户所使用的模拟机制将返回同一连接,而不需要重复访问 Analysis 服务器。如果用户释放第一个连接请求后其角色权限发生了变化,则第二个请求将返回具有最初角色权限的相同连接。
例如,某个用户在 Analysis 服务器上的角色为 Role A。Role A 使用户可以对两个多维数据集 Cube A 和 Cube B 运行查询。当此用户所使用的客户端应用程序首次请求连接时,返回的连接有权访问 Cube A 和 Cube B。客户端应用程序运行查询,然后释放连接。Analysis 服务器的管理员现在将 Role A 的访问权限更改为只能访问 Cube A。如果此用户的客户端应用程序请求另一个连接,首次请求时创建的连接将再次返回到该客户端应用程序,但是,它仍然有权访问 Cube A 和 Cube B。虽然 Role A 对应的用户当前只能访问 Cube A,但仍会对 Cube B 继续执行查询,就好象此用户对该多维数据集仍具有访问权限一样。
只有重新分配活动连接,才会出现这种问题;新创建的连接始终会跟 Analysis 服务器进行验证。如果上面的示例中客户端应用程序首次请求的活动连接已超时,系统就会为该客户端应用程序分配一个新创建的连接,这时该连接就具有正确的角色权限。
对于 Web 应用程序,解决此问题的最简单的方法是每当 Analysis 服务器上的角色发生改变时都重新启动 Microsoft Internet Information Services (IIS),强制应用程序在请求连接时重新加载并使用新的角色权限。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
赞助商链接