编写SQL查询可能适用于不同的RDBMS?
我正在编写一个应用程序来访问数据库服务。 应用程序应devise与理想的市场中的任何RDBMS一起工作。 例如, MySQL
, MS SQL Server
, Firebird
, SQLite
, MS Access
或更多。 它不应该绑定到一个特定的RDBMS。
但是,一个stringtypes的SQL可能适用于某些RDBMS,但是对于其他types的则失败。 SQL的一个小的变体应该被做为特定的RDBMS。 从语法语法,数据types,连接语法和DML
( Data Manipulation Language, CREATE TABLE, CREATE INDEX and etc.
)。
在应用程序中为不同的RDBMS提供不同版本的SQL并不容易。
是否有某种现成的解决scheme来生成适合不同RDBMS的SQL查询? 也许一些可以在运行时呈现SQL文本的库/类取决于RDBMS连接。
我认为你需要在你的应用程序中使用ORM,看一下水线库,它是Node.js基于适配器的ORM。