我有大量旧的Delphi应用程序使用ADO访问远程SQL Server数据库。我想将这些查询直接指向中间件层而不是所述数据库。 Delphi客户端必须保持不变;我不是大多数人的老板。
有可能这样做吗?如果是这样,我应该怎么做呢?
不要担心解析T-SQL(顺便提一下原始T-SQL和存储过程调用)。
答案 0 :(得分:0)
创建一个新的SQL数据库,并使用视图,T-SQL和托管代码的组合来伪造足够的数据库对象,以使应用程序正常工作。
技术1:使用表格,但是从新数据源异步填充它们。
技巧2:伪造表格和程序
E.g。您可以拥有一个存储过程,将托管代码调用到您的中间件,以替换现有的存储过程。
如果应用程序直接从表中读取,则可以使用引用托管表值函数的视图。
-
在使用存储过程的任何地方都应该没有问题。如果应用程序发送动态SQL,那么你将面临更多艰难的斗争。