数据库驱动分发

时间:2012-05-10 14:04:53

标签: c# database database-connection

尽管我开发了许多处理多个数据库平台的实用软件,但我仍然不太了解数据库连接的基础知识。

我正在开发一个WPF应用程序。我的目标是让最终用户能够连接到任何数据库(尤其是大型企业级大型平台,如Oracle,DB2,SQL Server以及PostgreSQL,MySQL,SQlite等流行的平台),即使用户未在其系统上安装相关驱动程序。

我不知道该怎么办。我应该用我的应用程序分发所有驱动程序吗?有一个万能的解决方案吗?我是否可以分发Oracle驱动程序,而无需用户在其系统中安装Oracle客户端?我想知道最好的方法是什么。任何参考将不胜感激。

2 个答案:

答案 0 :(得分:1)

假设您正在使用ADO.NET进行数据库连接

  • 您应该针对DbXXX类(DbConnection,DbCommand等)进行编程以保持数据库不可知
  • 您应该使用标准provider factory mechanism来获取已安装的提供程序列表并生成所需的DbXXX实例。

如果没有安装相应的驱动程序,则无法连接到数据库!你不需要分发驱动程序;这是应用程序的每个用户可以执行的操作,具体取决于他想要连接到哪个数据库。

答案 1 :(得分:1)

这听起来似乎可以通过精心设计的安装程序来解决。您可以将要与应用程序一起分发的数据库驱动程序的安装包捆绑到应用程序的MSI文件中,并包含一个自定义安装例程,允许用户选择要与其连接的数据库引擎。有了这些信息,安装人员就可以执行相应的驱动程序安装程序..

相关问题