如何正确部署IBM DB2数据提供程序
在服务器上使用DB2,我的应用程序直接连接到该服务器。作为数据提供商,我使用v9.7 FP5 ibm数据服务器驱动程序和visual studio插件。现在。要使用ClickOnce在客户端计算机上安装我的程序,并提供WHOLE IBM驱动程序包,那真的不是最佳解决方案,因为如果IBM更新其驱动程序 - 我的所有客户端都必须更新它们。不能,我只是将一些提供程序DLL包含到ClickOnce包中并仅在部署ClickOnce安装程序的计算机上更新它们?
PS:看来,我不能只是部署一些dll文件:(
How do I redistribute DB2 .NET with my application?如何正确部署IBM DB2数据提供程序
的DB2 .NET提供者不能简单地复制,它有几个 支持文件和安装操作,因此需要。要安装 这可以通过以下方法之一来完成:
安装数据服务器运行时客户机或用于ODBC,CLI和.NET的数据服务器驱动程序(DS驱动在目标机器(S)
包数据服务器客户端运行时R上的简称)合并模块与应用程序。细节在运行时客户机合并模块的在线 信息
这还真不是从他们身边,我认为解决方案。原来,他们提供的解决方案,同时开发应用与他们的DB工作,后进入生产 - 客户端必须安装其驱动程序(100MB〜),让我的软件与他们的数据库工作...
我看到你在这里有两个选择。一,你不必安装完整的100MB + db2客户端。您可以安装英文版只有31MB的“数据服务器驱动程序包”。除非您需要新版本中包含的新功能或错误修复,否则每次IBM更新时,您也不必在客户机上更新它。
另一个更好的IMO选项是使用IBM提供的数据服务器驱动程序合并模块。您可以将它们包含在.Net应用程序的安装包中。但是你怎么做,虽然我不确定。我问了一会儿question,从来没有得到回应。
是的,31mb,但安装了近100个;)关于合并模块 - 我不能在这里使用它们,因为我有clickonce isontler,而不是msi。仍然感谢你的答案,将在未来的项目中考虑。 – 0x49D1
我建议应用程序检查驱动程序是否存在,并在用户不存在的情况下将用户导向安装页面/设置页面。这不是用ClickOnce轻松安装的,但如果您创建了独立安装程序(MSI),它将是一个自动安装的选项。 (以及暗示客户端不直接访问数据库),其中包括防火墙配置,驱动程序安装和安全问题等各种问题。
防火墙不会成为问题,因为客户端软件将在局域网中工作,因为许多安全选项也不会打扰我们,因为它们将适用于某些用户组在活动目录(这是不确定的,但不认为这将是我们的问题)。如果我们计划长期维护此软件,驱动程序安装就成了问题。您关于检查驱动程序更新的想法很好!我可以在该网络上观看一些网络共享文件夹,这样如果文件发生改变 - 我可以要求用户采取并更新到新的驱动程序版本。谢谢。 – 0x49D1
闪避问题,但您可以考虑使用调用数据库的Web服务/ WCF服务。现在很少见到直接连接到数据库的客户端应用程序。 –
@Kieren Johnstone,是的,我们可以,但直接连接为我们提供了更多的选择和速度(在某些方面,开发速度也是如此,因为我们必须编写一些与数据库而非DB +服务一起工作的对象(这不是一个大不了...))。因此,直接连接的主要目标是在可扩展性交易中最大化程序的性能。 – 0x49D1