自定义ADO.NET实现作为WCF服务的客户端?

时间:2014-02-12 13:40:05

标签: wcf ado.net odbc

我们在此处使用特定的ODBC驱动程序来访问旧数据库。我们的自制软件(连接到数据库的2层 应用程序)可以真正用于某些操作。遗憾的是,由于许可限制,我们无法在多台计算机上部署ODBC驱动程序。我正在寻找一种解决方法。

我最初的想法是WCF服务和POCO。但是,由于应用程序引用了一个具有丰富的通用ADO.NET帮助程序函数的库,我真的想重用它们来与服务器通信。因此,我正在考虑制作自己的ADO.NET实现来访问WCF服务,该服务将反过来公开会话对象以处理客户端发送的查询。

之前有人这样做过吗?实施我自己的ADO提供商有哪些挑战?此外,在我去重新发明轮子之前,是否存在类似的东西?

1 个答案:

答案 0 :(得分:1)

您可以使用ODBC-ODBC Bridge从任何其他计算机访问旧版ODBC驱动程序,并仍然可以通过ODBC访问它。听起来像这样会减少很多努力。

更新:我只能描述Easysoft ODBC-ODBC Bridge,因为我没有看到任何其他网桥的代码。在客户端,您安装OOB客户端ODBC驱动程序。在服务器端,您安装服务。客户端有效地将您的ODBC调用和数据发送到服务器,在那里它们被重定向到您要使用的实际ODBC驱动程序。当然,在ODBC API和协议中都有大量的优化。这有很多优点a)你可以使用你想要编码的平台无法获得的驱动程序b)你可以使用32位应用程序与64位驱动程序通信,反之亦然c)你可能只有能够或想要在服务器上使用一个许可证用于驱动程序/数据库d)您可以跨网络访问远程驱动程序等。

在Easysoft OOB中正确处理交易。