Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-09-2013
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Unhappy GetTableNames de dbExpress falla en Delphi 2007 ?

Hola a todos,

Estoy intentabdo pasar a dbExpress una herramienta para administrar tablas de Bases de Datos, la cual hice hace años con BDE; pero, cuandi intento ejecutar ek método GetTableNames de dbExpress este me saca un access violation.

Primero los pongo en contexto.

La herramienta que hice con BDE trabaja en general perfectamente bien; se me conecta a múltiples motores de bases de datos, y entre otras muchas cosas me permite importar archivos de texto y copiar tablas entre motores diferentes. Sin embargo, me he topado con un problema : En el BDE no estoy pudiendo trabajar bien con campos BCD; concretamente resulta que en mis nuevas aplicaciones la mayoría de las tablas usan campos DECIMAL(18,2).

Cuando empecé a hacer esas aplicaciones, principalmente por ese detalle, migré a dbExpress y traté de migrar también la herramienta; pero, no pude por lo de GetTableNames. En ese entonces por falta de tiempo no investigué más. Ahora, se me volvió crítico lo de poder pasar información entre tablas de múltiples motores de Bases de Datos; pero, sobre todo de Firebird que es el motor que más uso.

Por lo tanto necesito una de dos cosas : O poder usar GetTableNames con dbExpress o conseguir una herramienta que sea capaz de pasar tablas entre bases de datos; pero con dos condiciones :

1. Que soporte campos DECIMAL(18,2)
2. Que trabaje vía Web

GetTableNames lo estoy usando en Delphi 2007 y las pruebas con Firebird 2.0.3

El segmento de código es :

Código Delphi [-]
Function TdmConexiones.LeeNombresDeTablas:String;
Var
   TheList:             TStringList;
Begin
     TheList := Nil;
     Try
        TheList := TStringList.Create;
        MiDB.TableScope := [tsTable];
        MiDB.GetTableNames(TheList);
        LeeNombresDeTablas := TheList.Text;
     Finally
        TheList.Free;
     End;
End;

Vale anotar que el componente MiDB ya a abierto la conexión a la base de datos y llega a ese punto (verificado con depurador), sin problemas; así que el access violation no es por ahí.

Lei en alguna parte, con otro motor de Base de Datos, que hay que agregarle un parámetro más a GetTableNames porque está sobrecargado y que ese parámetro es el nombre del esquema. Si es eso, cual sería ese parámetro para el caso de Firebird ?
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
delphi 2007 dbexpress y Oracle 10 XE jaimeh Conexión con bases de datos 1 07-12-2010 22:04:27
Falla en dbExpress de Delphi 2007 con Firebird para campos BCD rolandoj Conexión con bases de datos 4 26-03-2010 16:08:58
Delphi 2007 + dbExpress + MySQL totote Conexión con bases de datos 2 28-12-2007 14:09:20
Firebird + DBExpress + Delphi 2007 diegofhernando Conexión con bases de datos 9 31-08-2007 01:19:27
Como conectar DBexpress en delphi 2007 kokud Conexión con bases de datos 2 19-06-2007 14:51:12


La franja horaria es GMT +2. Ahora son las 10:35:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi