如何创建多数据库支持软件?

时间:2014-05-18 15:27:58

标签: sql sql-server vb.net sqlite

我正在为零售店创建一个软件,我希望我的软件支持SQL Server和SQLite。如果用户是独立的(一台PC),请选择sqlite数据库,如果它是通过网络,则选择SQL Server选项。

我正在使用Visual Studio 2010和vb.net语言开发此软件。

作为研究,我们在Visual Studio,ODBC,OleDB和MSSQL中有三种类型的连接。

OLEDB可以支持MS-Access数据库和SQL Server。

任何评论和想法都受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

编写应用程序代码的最佳方法是将功能抽象为different tierslayers。这可能意味着许多事情并且可能变得非常复杂,但总体思路是将应用程序的各个部分分开。我们假设您的程序中有一个库存表单,您可以在其中查找当前库存。显示库存的表单不需要知道客户正在运行的数据库。一般来说,你不知道会更好。同样,访问相应数据库的代码(无论是SQL Server,SQLite还是Access)实际上并不需要知道您的Inventory表单将对其检索的数据执行什么操作。您的所有库存代码应该以对客户最有用的方式显示您的库存,您的所有数据编码应该是获取所需的数据。

我可能会采取的方法是创建一个数据提供程序类。在该类中,您可以为您可能拥有的不同数据库函数以及客户可能拥有的不同数据库系统封装逻辑。比如说商店老板刚收到一批产品,需要在商店的库存中加一个。理想情况下,您的程序应该能够执行DataProvider.AddInventory()之类的调用。在DataProvider类中,您可以编写代码来跟踪客户使用的数据库解决方案,以及您希望支持的每个数据库解决方案的逻辑实现。理想情况下,您应该实现应用程序可能需要执行的每个数据函数,以便可以像AddInventory()示例一样简单地调用它。

数据提供者的实现可以像您一样简单或复杂。在某些情况下,您将在多个不同平台上使用多种不同语言编写多个应用程序,从多个位置访问您的数据源,编写某种中间件可能是有意义的。在您的情况下,听起来这是“内部”驻留的应用程序类型,应该通过将数据访问抽象到单独的类来提供服务。