为了让app从单个界面获取来自不同数据源的数据,我创建了一个存储过程,我尝试保留所有数据访问/处理例程。 现状:
查询示例:
select * from OPENQUERY(linkedA,
'select f1 as id,f2 as name
from openrowset(''VFPOLEDB'',''c:\program\db\Table.FPT'';'''';
'''',''SELECT * FROM Table where f1=1'')')
当源是基于Sql Server时:
select * from OPENQUERY(linkedB,
'select f3 as id,f4 as name from [db].[dbo].[Table] where f3=1')
因为我不仅需要处理连接属性(链接服务器名称),还需要处理查询参数(db,scheme)和变量(在本地sp运行时声明和存在),我遇到了一些问题:
sp_executesql
来简化流程; config_table
xml或smth。<Config id="1" name="linkedB" db="dblinkedB" scheme="dbo" version="1.0.1">
<Actions>
<Action id="0" name="Query 1">select * from OPENQUERY(linkedB,'select f3 as id,f4 as name from [db].[dbo].[Table] where f3=1')')</Action>
</Actions>
</Config>
问题:
有没有最好的实践?
根据这个主题的主题,我正在寻找组织查询模板的最佳方法,只是传递一些参数,可以使用默认或特殊代码。