返回列表 发帖

第二种跨数据库的方法

第二种方式:是你的程序里面不用任何数据库的sql语句。       你自己编一套sql语句进行数据库读写。当然你自己编的sql语句肯定是不能执行的。这个时候你就需要做一个翻译器,将你自己的sql语句翻译成对应数据库的sql语句,如SQL SERVER 的sql语句,这样就可以进行数据库操作了。这样一来在你的程序与数据库之间通过翻译器搭建了一个桥梁。这样的做虽然中间多了一道操作,但是它的好处是,假如你做两种数据库的翻译器,你的程序就可以跑在两种数据库上了。多一个翻译器就能多适用于一种数据库。而你的程序永远只有一套,只不过通过编译器翻译成能在不同数据库上运行的程序了。Sage X3 就是这样做的。原理实际上非常简单,但是第一个想到这种方法、最早的应用,并采用这种方法搭建整个系统的,就是SAGE X3

TOP

Re:SAGE X3自有开发语言,能跨应用平台,跨数据库,你信吗?

看X3的代码,很怪的感觉

TOP

其实你的系统也可以跨数据库。

第一种方法:

1、你的程序里面采用标准sql语句,对任何数据库语言都通用。但是采用标准sql语句,无疑放弃了各种数据库的优势用法,同时某些操作各种sql语句并没有统一,如左连接,sqlserver 与DB2左连接的格式就不一样。

2、你的程序控件里面不要绑定特定数据库的表。如PB的数据窗口,肯定要绑定表,数据窗口不绑定表的话没有办法操作,这个时候你就只能针对每一种数据库做一个数据窗口,程序中根据用户选择的数据库种类进行判断选用不同的数据窗口。一般一个大的系统有上万甚至十几万这种数据窗口就得根据数据库种类做几套,一旦发生修改,几套都需要修改。工作量,保持一致性难度极大。

TOP

返回列表