1

我已经为 Delphi 使用 UniDac VCL 组件一年了,但最近使用 SQL Server 2012 开始了一个相当大的项目,我想以不同的方案分离表和存储过程,我的整个逻辑都在存储过程中,所以程序中没有查询存储过程名称和参数。

问题是,当我将存储过程架构从更改dbo为假设SchemaA然后尝试从 Delphi 运行它时,TUniStoredProc组件会发现它,ProcedureName而不是SchemaA.ProcedureName抛出异常,即在执行时找不到存储过程。

我不能将不同的模式分配给不同的用户作为他们的默认方案,因为根据权限,有些用户使用 4-6 个方案。我已经尝试过的是手动输入SchemaA.ProcedureName,并且效果很好,但是为约 150 个组件这样做会花费很多时间,所以我正在寻找更好的解决方案。

有什么想法吗?

4

1 回答 1

0

我不知道这些组件在多少个表单或模块上,但如果它们是集中的,则以文本模式打开表单并进行替换。

UniDac 的宏在这里可能会派上用场,可以使用 {MySchema}.ProcedureName 并在连接宏中设置 MySchema 名称。

于 2015-07-01T20:24:33.133 回答