RE:Como Conectar Tablas de BD FireBird?
Este ha sido un tema enorme y largamente discutido entre algunos colegas, un par de ellos, alguna vez empleados de borland.
Es cierto que ADO es lento si se conecta através de ODBC, por que genera un segundo tier (capa) en la conexión:
DB --> ODBC Driver ---> ADO Data Access --> Componentes
mientras que BDE utiliza directamente el driver de ODBC:
DB --> ODBC Driver ---> Componetes
Sin embargo, ADO Implementado con drivers nativos para cada posible base de datos genera un menor overhead, principal problema de la comunicación através de ODBC, y hace transacciones mucho más rápidas, incluso para resolución de cubos.
Sinceramente, y no es que menosprecie el test que propones, me resulta innecesaria la prueba, toda vez que estoy seguro que no me tocará hacer una aplicación mediante esta arquitectura. De hecho, si requiriera la comunicación remota, no sería por modem telefónico y no sería con acceso directo a la base de datos, si no buscando hacerlo en 3 capas -mínimo-. Y ahí podríamos entrar de nuevo al debate de hacerlo a través de midas o directamente por winsock. Obviamente sería más fácil a través de midas, pero no necesariamente es la mejor respuesta.
Lo que si es un caso para hacer un test es lo que (inevitable y tristemente) será el standar de la industria de IT en el futuro próximo: .Net.
Los componentes .net de bde, dbx están implementados en el bds (borland developer studio) más por compatibilidad con proyectos Win32 que por ofrecer una real alternativa al método nativo de acceso a datos: ADO.NET
Y no digo que nos mudemos a los métodos nativos, por que entonces estaría insinuando que todos deberíamos aprender C#. Lo que estoy planteando es que BDE.NET y DBX.NET no son, por mucho, alternativas formales de desarrollo, sobretodo si esto implica hacer proyectos para web, ya que en este caso, las implementaciones generan el problema a la inversa: BDE Data Access conectándose a un driver ODBC para luego poder ofrecer algo a sus componentes.
Todo esto sin mencionar todo lo que implica la distribución del bde como parte de tu sistema.
Reconozco que nunca nos hemos puesto de acuerdo en cuanto a la velocidad, pero si tenemos claro que en tanto más se encargue la base de datos de sus asuntos (léase: Entre mejores DBA's tengamos en el grupo) mejores desarrollos podremos ofrecer. Muchos de los problemas con velocidad en las aplicaciones se resuelve directamente en el servidor de base de datos. En particular prefiero MSSQL (duele reconocerlo) y Oracle (de preferencia montado sobre Unix), en órden inverso. Esto por la gran cantidad de cosas que se pueden hacer en esta bases de datos, además de que es más fácil encontrar a un buen DBA en estos sistemas que en cualquier otro (y por lo mismo, son más baratos).
Si de estos dos sistemas tenemos los accesos nativos, conectados vía Ado, con suficientes sp's, funciones, cursores y un buen servidor, estamos hechos.
Saludos.