Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   error en migracion de delphi2006 a delphi xe2 (https://www.clubdelphi.com/foros/showthread.php?t=77482)

identsoft 31-01-2012 06:03:57

error en migracion de delphi2006 a delphi xe2
 
Un saludo para todos.
Estoy migrando una aplicacion hecha en Delphi 2006 a Delphi XE2.
Al compilar no me da ningún error, pero al ejecutar (desde el entorno Delphi) sale el siguiente error:
"Unable to find procedure DBXRow_GetUInt8"
Creo que tiene que ver con la conexion a BD.
La base de datos es la misma Firebird 2.1 para las dos aplicaciones.
¿a alguiene le ha sucedido lo mismo?
Gracias

manuc 31-01-2012 16:46:05

Hola identsoft,

¿Puede ser que estés usando dbExpress para conectar con Firebird?

Me suena a un problema con un driver de dbExpress, cosa que tendría lógica que pueda fallar al migrar de versión.

Yo tengo pendiente migrar también a DelphiXE2, no me asustes :-)

Un saludo.

Casimiro Notevi 31-01-2012 16:50:19

Creo recordar que sólo la versión más cara es la que trae los controladores dbx para firebird.
Así que tendrás que usar otros, por ejemplo, estos.

manuc 31-01-2012 17:15:56

Gracias Casimiro,

Desconocía que estos drivers y me vienen genial!!

Gracias.

Un saludo.

identsoft 01-02-2012 09:22:06

Gracias Casimiro.
Los pruebo y cuando consiga algo (si lo consigo) lo pongo aquí.
Un saludo

gatosoft 01-02-2012 20:42:35

Yo tuve el mismo problema ("Unable to find procedure DBXRow_GetUInt8") migrando de delphi 2009 a XE (utilizando base de datos SQL Server) y encontré en algún foro que se resolvía añadiendo en la clausula uses una unidad específica, para mi caso creo que era: DBXMSSQL y se resolvió mi problema...

No estoy seguro ahora del nombre de la unidad, pues no tengo ahora acceso a ese codigo...

Y no solo era esto, el problema tambien partia del hecho que en la misma carpeta donde se generaba el ejecutable yo tenia las dll's de dbexpress, que para mi caso (de 2009 a XE) ya no eran las mismas... (Podrias empezar por revisar esto)

Un saludo,

gatosoft 01-02-2012 20:48:05

Navegando por ahi enontre:

http://qc.embarcadero.com/wc/qcmain.aspx?d=77519
En los pasos para reproducir el error dicen que le problema esta en la libreria (incompatible) en el mismo directorio del ejecutable


El amigo del siguiente hilo, encontró una solución salomónica:"RESOLVI formatei meu computador e funcionou -.-"
http://www.activedelphi.com.br/forum...13a95bafc99c7b

identsoft 02-02-2012 11:05:52

Perdonad que tarde tanto, pero este tema me trae de cabeza.
Efectivamente estoy intentando utilizar DBExpres para conectar con una BD Firebird.
He bajado la ultima version de los drivers (dbxFirebird.4.1.v36)que decía Casimiro y estoy intentando trabajar con ellos.
Utilizo Firebird 2.5 y DBExpress Profesional.
He copiado las librerias dbx4fb.dll y fbclient.dll en Windows\system32.
He añadido el el fichero dbxdrivers.ini que viene con el driver al archivo dbxdrivers.ini que en mi caso está en ..\DBExpress\9.0
Me he creado una conexion a una base de datos de prueba y el resultado es:

1.- Si intento hacer una prueba de conexion a traves del DATA EXPLORER, sale el mensaje :
"System.IO.FileLoadException:the located Assembly's manifest definition does not match the assembly reference.."

2.- Inserto un simple TSQLConnection a un formulario, le asigno la conexion creada anteriormente, pincho en la propiedad Connected para ponerla a true y sale el mensaje:
"I/O during 'CreateFile(Open)' operation for file 'database.gdb'.
Error while trying to open file.
El sistema no puede encontrar el archivo especificado."
Naturalmente, la base de datos no se llama database.gdb

Lo curioso del caso es que la demo que viene con el driver funciona correctamente (cambiando la direccion de la BD).
¿alguna idea de por donde van los tiros?
Gracias por vuestro tiempo.


La franja horaria es GMT +2. Ahora son las 06:53:07.

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