PDA

Ver la Versión Completa : Problema librerias ODAC


gersojn
03-07-2013, 18:34:54
Hola amigos, ya hace varios dias he venido desarrollando sistema de consulta de empleados, el cual se conecta a una BD de Oracle, sin que previamente se haya tenido que instalar el cliente Oracle. El asunto es que llevo un 50% del sistema y hoy traslade la aplicacion a un ordenador, libre de delphi, Oracle y demas.

Cuando intento abrir el sistema me indica el error:

The specified module could not be found
ODAC Trial version needs additional "bpl" files to be present on the user PC.
If you build your project without run-time packages you need:
dac180.bpl
odac180.bpl


Investigando, encontre que para ahorrar espacio y reducir el tamaño del ejecutable, entre otros factores, Delphi linka las librerias y que para incluirlas hay que ir a Project->Option->Packages->Runtime Packages y colocar false todo. He checado y en las librerias me aparecen.
Ya revise varios post y paginas y hago el procedimiento, no funciona. Realize un test, con una aplicacion que tiene una conexion a Oracle y muestra una tabla en un DBGrid a modo de prueba y de igual forma cuando lo traslado al ordenador sin Delphi, ni Oracle, me muestra el error y la aplicacion no carga.

No entiendo como se incluyen estas librerias, trabajo con DelphiXE4 y bueno no se si el problema radique en que utilizo un Trial de ODAC y por ello no pueda incluirlas o algo similar.
Le estaria enormemente agradecido si me ayudaran con este problema, desde ya muchas gracias.
Saludos.

gersojn
03-07-2013, 19:48:37
Intente desactivando/activando Link with Runtimes Packages y Inherit y el tamaño del exe cambia mucho, en uno pesa 1.67 MB y el otro 21.4 MB.
Pero solo en el de 21.4MB me da el error antes mencionado de Dac180.bpl y odac180.bpl.
http://i.imgur.com/QKUOYWJ.png



Lo extraño es que al parecer si estan incluidas pues encontre a ambas librerias.
http://i.imgur.com/GH7aX4Q.png

Alguien que pueda ayudarme en esto, pues no le encuentro solucion. Desde ya muy agradecido por la ayuda.
Saludos.

nlsgarcia
03-07-2013, 21:22:45
gersojn,



...ODAC Trial version needs additional "bpl" files to be present on the user PC...If you build your project without run-time packages you need: dac180.bpl, odac180.bpl...


Revisa esta información:


Oracle Data Access Components Deployment : http://www.devart.com/odac/docs/

Según indica la información anterior (Deployment Option), los archivos dac180.bpl y odac180.bpl deben entregarse siempre junto con la aplicación aun cuando esta haya sido compilada sin la opción de Runtime Packages, esta es una limitación de la versión Trial de ODAC.

Espero sea útil :)

Nelson.

Casimiro Notevi
05-07-2013, 22:57:21
Punto 7 de nuestra guía de estilo:

Preguntas que no hay que hacer

He aquí algunos ejemplos de preguntas mal planteadas que seguramente nadie va a responder, por favor te pedimos que no hagas este tipo de preguntas.
1.- Tengo problemas con Delphi ¿puede alguno ayudarme?
2.- ¿Me podéis pasar el crack X?
Cómo ves la primera es insustancial, poco te van a poder ayudar, en cuanto a la segunda, no queremos que el foro se convierta en un lugar de piratas.
Tampoco debes realizar varias preguntas en un mismo hilo, para que te hagas una idea mejor te ponemos un ejemplito...
1.- ¿Cómo podría cambiar las propiedades de una carpeta y de unos archivos para convertirlos en ocultos?
2.- ¿Tiene Delphi alguna función para validar una cadena y saber si su formato es tipo hh:mm:ss?
Son dos temas totalmente distintos, debes abrir un hilo para cada una de ellas, por favor no hagas las dos preguntas en un mismo hilo.


La versión trail de esos componentes duran 60 días. Después hay que pagar.

gersojn
05-07-2013, 23:53:11
Hola Casimiro no tevi, pues gracias, efectivamente con anterioridad examine los estilos que hay que utilizar en el foro, y bueno la pregunta la realize de forma general, de tal manera que cualquier persona en el foro que tenga conocimientos sobre ODAC, pudiere aportar algo al problema.

En cuanto a lo de Piratear, tienes toda la razon, aunque el sistema no es para fines comerciales, ni distribucion masiva, sino vale mas para un proyecto de la Universidad y aprender un poco de ello, pero en fin, volvere entonces nuevamente al Trial y seguire probando esperando algun resultado positivo.
Saludos y nuevamente gracias por la ayuda brindada.

Casimiro Notevi
05-07-2013, 23:59:26
Son las normas y no queremos problemas con los fabricantes.
Comprendo que sólo sea para fines didácticos, de todas formas lo que hagas "de puertas para dentro" no es de nuestra incumbencia.
Pero aquí, públicamente, en los foros, se deben cumplir las normas.
Gracias :)

gersojn
08-07-2013, 21:26:08
Hola de nuevo amigos, pues ya intente muchas formas y procedimientos en la red para incluir en Run-time las librerías y que la aplicación sea portable sin instalar el cliente de base de datos de oracle.

Seguí el procedimiento de instalación de la pagina oficial (http://www.devart.com/odac/docs/), pero no me funciona. Cuando quito los componentes o los remuevo desde el IDE de delphi, me muestra el mensaje de que si en verdad quiero quitar las librerías del run time, lo cual deja claro que las librerías si están dentro del run time. Es decir cuando hago la instalación de las librerías (Trial) el problema persiste al trasladar la aplicación a un ordenador que no disponga de dichas librerías, le he incluido todos os bpl junto a la aplicación y el mensaje sigue siendo el mismo, he copiado los bpl al sistem32 y el mensaje de error sigue siendo el mismo.

Alguien tiene alguna idea o solución a este problema, pues ya me estanque mucho tiempo en esto, les estaría enormemente agradecido.
Saludos.

Casimiro Notevi
08-07-2013, 21:33:15
¿Pero has probado lo que comenta nlsgarcia en el mensaje #3?

gersojn
08-07-2013, 21:51:24
Hola Casimiro Notevi, gracias por la respuesta, pues efectivamente, ya lo intente. Compilo la aplicación con todas las librerías, y adicional mente en la misma carpeta dejo los bpl que indica y me da el mismo error. También intente copiando todos los bpl y es el mismo error.

Cuando realizo la instalación de ODAC, tengo previamente que copiar los siguientes ficheros:
Name Description Location
dac180.bpl DAC run-time package Windows\System32
odac180.bpl ODAC run-time package Windows\System32
dclodac180.bpl ODAC design-time package Delphi\Bin
odacvcl180.bpl VCL support package Delphi\Bin
oraprovXX.bpl TOraProvider component Delphi\Bin
crcontrolsXX.bpl TCRDBGrid component Delphi\Bin

También intente copiando las librerías que están en negrita en la carpeta system32 de la maquina donde quiero que funcione la aplicación, pero tampoco me funciona, no se cual pueda ser el problema.
Gracias por la ayuda y respuestas.
Saludos.

Casimiro Notevi
08-07-2013, 22:23:50
¿Y las has copiado también al directorio donde está el exe de tu programa?

nlsgarcia
08-07-2013, 22:58:57
gersojn,


...no se cual pueda ser el problema...


Revisa esta información:


Deployment

ODAC applications can be built and deployed with or without run-time libraries. Using run-time libraries is managed with the "Build with runtime packages" check box in the Project Options dialog box.

Deploying Win32 applications built without run-time packages

You do not need to deploy any files with ODAC-based applications built without run-time packages, provided you are using a registered version of ODAC. You can check your application does not require run-time packages by making sure the "Build with runtime packages" check box is not selected in the Project Options dialog box.

Trial Limitation Warning

If you are evaluating deploying Win32 applications with ODAC Trial Edition, you will need to deploy the following BPL files and their dependencies (required IDE BPL files) with your application, even if it is built without run-time packages:

dacXX.bpl always
dacXX.bpl always
odacXX.bpl always

Deploying Win32 applications built with run-time packages

You can set your application to be built with run-time packages by selecting the "Build with runtime packages" check box in the Project Options dialog box before compiling your application. In this case, you will also need to deploy the following BPL files with your Win32 application:

dacXX.bpl always
dacXX.bpl always
odacXX.bpl always
dacvclXX.bpl if your application uses the OdacVcl unit
odacvclXX.bpl if your application uses the OdacVcl unit
crcontrolsXX.bpl if your application uses the CRDBGrid component

Tomado del link: http://www.devart.com/odac/docs/




What software should be installed on a client computer so that my applications that use ODAC can run?

To use the full set of Oracle features, the client computer has to have Oracle client software (OCI) installed. If you do not want to install OCI, you can use Direct mode, in which ODAC communicates with Oracle server without intermediate libraries. In order to use the Direct mode, the operating system on the client computer must have TCP/IP protocol support installed.

Tomado del link: http://www.devart.com/odac/faq.html

En caso de que lo anterior no funcione en tu sistema, te sugiero enviar un email a DevArt detallando el problema y/o consultar los Devart Forums (http://forums.devart.com/), para ampliar tus posibilidades de encontrar una solución a tu requerimiento.

Espero sea útil :)

Nelson.

Casimiro Notevi
08-07-2013, 23:44:00
Una respuesta muy elaborada ^\||/

gersojn
09-07-2013, 00:30:46
Hola nlsgarcia, muchas gracias por la ayuda y respuestas. Pues ya se que estoy haciendo mal. El asunto es que tras probar de múltiples formas, por foros y demas sitios y no lograr nada, en un foro indicaban agregar los bpl de 64Bits, pues la aplicación la desarrollo en una maquina de 64Bits y lo estaba intentando probar en una de 64Bits, y yo le estaba colocándole librerías de 32Bits(bpl). En fin lo que hice fue copiar las librerías de ODAC de 32 y 64 Bits que vienen con el Trial, junto lo la aplicación.

Cuando lo traslade a la otra maquina, me desplegó un mensaje que necesitaba otra librería "rtl180.bpl" ademas de las librerias ODAC, lo raro es que compile a modo de que incluya todas las librerías, y bueno copie ese bpl, y luego me pidio otro "dbrtl180.bpl", lo copie y pues así, si funciono correctamente la aplicación sin problemas.
Para lograr portabilidad en una aplicación con conexión a Base de datos Oracle y DelphiXE4 con ODAC Trial:
Necesario Compilar con Run-Time e incluir las librerías:
Odac180.bpl
dac180.bpl
rtl180.bpl
dbrtl180.bpl
Muchisimas gracias por la ayuda y respuestas que me han brindado amigos, ya esta solucionado, ahora si a terminar el desarrollo. Con Delphi se pueden hacer muchas cosas, cada vez quedo mas asombrado de la potencia!!
Saludos y nuevamente muchas gracias por la ayuda!