我已经使用了Delphi一年的UniDac VCL组件,但最近开始使用SQL Server 2012开发一个相当大的项目,我想在不同的方案中分开表和存储过程,我的整个逻辑是因此存储过程中没有查询的程序中只有存储过程的名称和参数。UniDac找不到存储过程架构
的问题是,当我从dbo
改变我的存储过程的模式,让我们说SchemaA
,然后尝试从德尔福运行它TUniStoredProc
组件发现它ProcedureName
而不是SchemaA.ProcedureName
会抛出没有找到存储过程的例外执行。
我不能为不同的用户分配不同的模式作为他们的默认方案,因为有些用户根据权限使用4-6个方案。我已经尝试过的是手动输入SchemaA.ProcedureName
,而且完美地工作,但对于约150个组件需要花费很多时间,所以我正在寻找更好的解决方案。
有什么想法?
所以你的问题实际上是:如何在我的所有'TUniStoredProc'组件中将过程名称从“ProcedureName”更改为“SchemaA.ProcedureName”?他们全都在数据模块中,还是分散在你自己的表单之中? –
whell有更多的架构比一个不完全的选择:P我的问题更多的是如何强制TUniStoredProc自动检测架构或在服务器中作出正确的权限,如果用户有db_owner,他可以看到所有的没有指定存储过程模式的模式,是的,我所有的存储过程组件都在两个独立的数据模块中有任何想法? :) – AirWolf