可能的解决方案:
我曾见过几种对数据库互操作性问题的可能的解决方案:
| # | 解决方案描述 | 优点 | 缺点 |
| 1 | 处理两种版本的应用程序——一个是针对Oracle的,另一个是针对SQL Server的。 | 1.不需要处理SQL命令的版本 | 1. 复制代码—必须在两个版本上应用所有的变化。 |
| 2 | 尽可能地使用通用语言(ANSI/ODBC/OLEDB/…),并且在应用程序用IF命令处理不同的命令 | 1. 处理单个应用程序 | 1. 如果有非ANSI的命令,代码就会变得越来越大, 这会影响应用程序的性能 2. 代码可能会因为很多的IF 语句变得复杂。 |
| 3 | 把数据库命令保存在数据库或者INI文件中,当应用程序开始的时候将其读入缓存。 | 1. 应用程序中不需要 IF命令了。2. SQL 命令可以任意修改,并且不需要在修改之后重新编译应用程序。 | 1. SQL命令管理可能变得更加复杂。 |
选择哪个解决方案?
这个问题的答案依赖于应用程序的特性和平台。每个解决方案都易于实现,这里没有最好的解决方案。
结论:
如果你想要将你的应用程序开发成为不依赖数据库的,你就应该仔细的计划解决方案。考虑到应用程序在数据库级别上的复杂性,还有所需代码的总量。在计划过程中,考虑到应用程序未来的发展是至关重要的。
更多内容请看PCdog.com--PL/SQL 数据库相关文章专题
