Problems of SQL

What did the ANSI commitee (that defines SQL-92 and SQL-99) wrong?

They didn't do anything wrong. In fact, what they made is absolutely correct. This commitee consists of the existing database vendors. The standard reflects as good as possible what these companies have built. The commitee did never change the behaviour or syntax  drastically, because this would break existing applications, and would mean the existing database vendors would have to change their existing implementation without a real benefit. Many database vendors are not interested to standardize everything, because they could loose existing customers if they did. Many companies live from vendor lock-in (most applications run only with one, or few, of the existing database products).

What ANSI did was adding new functionality to the standard. This remindes a little bit of C++: it is a good language, but very complex, because people added too much.  Java is a new language, and does not have to take all the old things from the past with it. Java has become very successfull, even it is only a subset of C++ (well, almost). What is wrong with C++? It is too complex. What is wrong with SQL? It is too complex, and the products do not follow the standard. What is wrong with the people that define C++ or SQL? Nothing.

Are not Object Databases the future?

Object database do not have a big market share at this time. There are several reasons why:
Many relational database system do have now some OODB features, but they are not widely used.

What is the future then?

Hard to say, of course. Maybe OR (Object-Relation) mapping products/standards, that simplify development. Are Enterprise Java Beans a Object-Relation mapping? Is JDO (Java Data Objects) the same? But this products are still using an underlying relational database. Additionally, it looks like the Servlet / JSP (Java Server Pages) part of J2EE (Java 2 Enterprise Edition) is actually more successfull than the EJB part. That means developers are using JDBC directly more than the abstraction of it.

Chances are very good that relational databases will play a very important role in the software industry in the next years. And even if they do not, a new data access language will help in any case.

It is time for another data access language.