- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在学习数据库类(class),我必须编写一个命令行应用程序。教授希望我们编写一个 ESQL(嵌入 SQL)应用程序。
我感觉这种技术被贬值了。
我们必须使用 oracle 预编译器来翻译 c++ 中的 esql 代码。这种应用程序看起来很难维护。
PHP 应用程序也可以很好地工作,但他们可能希望命令行应用程序能够更快地进行评分(使用输入提要进行单元测试)。大家觉得,工业上用的是Embed SQL吗,值得请教授做一个java应用吗?还有其他更合适的技术吗?
最佳答案
嵌入式 SQL 是“旧时代”(C++ 尚未发明)期间用 C 语言执行 SQL 的最流行方式之一。
最近我们主要使用 ORM 库。不建议再做嵌入式 SQL,因为正如您所说的那样,它依赖于专有的预处理器并且使代码难以调试、管理和维护。它还 Hook 你到一个单一的数据库供应商,你的代码将非常难以移动到另一个数据库后端。通常,我们不会在“现实生活”中这样做。
但由于这只是一个类(class),您的教授可能有兴趣教您 SQL 和数据库概念。嵌入式 SQL 只是一个工具。您应该学习 SQL 和数据库,而不是 C++ 中的嵌入式 SQL。
但是,我认为您询问有关 PHP 和 Java 的问题没有捕获要点。更不用说 PHP 是一种脚本语言,而 Java 是另一种您可以(可能)为嵌入式 SQL 编写处理器的语言。
所以您关于嵌入式 SQL 的观点实际上与语言选择无关。它与 (1) 带有预处理器的专有嵌入式系统,(2) 使用 ORM 库或数据访问库(例如 ODBC)之间的权衡和平衡有关。
题外话:
我第一次使用嵌入式 SQL 是在上大学的时候(大约 30 年前!)。实际上在大学毕业后得到了编程工作并且还在使用它,但显然它正在被淘汰。自 1990 年左右以来从未见过它被使用过。
关于database - ESQL 是否在工业中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5411584/
我是一名优秀的程序员,十分优秀!