我已经在Delphi组件上使用了一年,但是最近开始了一个相当大的项目,使用UniDac Server2012,我想在不同的方案中分离表和存储过程,我的整个逻辑都在存储过程中,所以程序中没有查询,只有存储过程的名称和参数。
问题是,当我将存储过程模式从dbo更改为SchemaA,然后尝试从Delphi运行它时,TUniStoredProc组件发现它是ProcedureName而不是SchemaA.ProcedureName,这会抛出在执行时找不到存储过程的异常。
我不能将不同的模式分配给不同的用户作为他们的默认模式,因为有一些用户根据权限使用4-6个模式。我已经尝试过手动输入SchemaA.ProcedureName,效果很好,但对大约150个组件这样做会花费很多时间,所以我正在寻找更好的解决方案。
有什么想法吗?
发布于 2015-07-02 04:24:33
我不知道这些组件上有多少个表单或模块,但如果它们是集中的,那么在文本模式下打开表单并进行替换。
UniDac的宏在这里可能会派上用场,您可以使用{ MySchema }.ProcedureName并在连接宏中设置MySchema名称。
https://stackoverflow.com/questions/22721124
复制相似问题