您如何编写应用程序以独立于数据库?

我的老板要求我只编写ANSI sql以使其与数据库无关.但我了解到并不是那么容易,因为没有数据库完全兼容ANSI sql. SQL code can rarely be ported between database systems without modifications.

我看到人们以不同的方式使他们的程序数据库独立.例如:

>将sql语句外部化为资源文件.
>编写许多提供程序类以支持不同的数据库.
>只编写简单的sql,并远离高级函数/连接.

你总是把你的代码写成“任何数据库就绪”吗?或者只在需要时才这样做?
如果是的话,你是如何实现的?

解决方法

要将数据库引擎与应用程序分离,请使用数据库抽象层(也是 data access layer或DAL).您没有提到您使用的语言,但是所有主要语言都有很好的数据库抽象库.

但是,通过避免特定于数据库的优化,您将错失特定品牌的优势.我通常抽象可能的东西并使用可用的东西.更改数据库引擎是一项重大决策,并不经常发生,最好使用最多可用的工具.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...