BDE Install

Imagen de Mac_Gyver

Tema: 

Hola a todos tengo una aplicacion en mi empresas hache en delphi 6.0 logre hacerla correr en linux usando wine pero el problema es que la aplicacion funciona con una conexion a base de datos sql-2000 mediante el DBD Administrator mi pregunta es si alguien sabe donde descargar el bde-install para linux o alguien sabe como hacelo funcionar con wine ya que la aplizacion siempre me sale un mensaje de database unknow osea no puedo conectarme a la base por que no la tengo configuarada en el BDE.

Comentarios

Se requiere más información...

Imagen de a_villacis

De lo que he encontrado, el BDE es una capa de abstracción de base de datos específica de Borland. Por lo tanto, tiene que empaquetarse junto a la aplicación, y el instalador de la aplicación tiene que instalarlo junto con el resto de la aplicación. Podría describir cómo intenta usted correr su aplicación en Wine? Tiene un instalador, o intenta nomás correr el EXE de la aplicación?

Si usted fuera a instalar la aplicación en una máquina Windows, limpia, sin nada instalado (ni siquiera el entorno de desarrollo de Delphi), cuáles son los pasos que toma?

Que ocurre si (o cuando) usted sigue exactamente los mismos pasos en Wine?

Cómo hace usted para configurar el acceso a la base MSSQL con Windows? Requiere instalar en la máquina Windows el DBD Administrator? Qué ocurre cuando se intenta hacer lo mismo en Wine?

perl -e '$x = 2.4; print sprintf("%.0f + %.0f = %.0f\n", $x, $x, $x + $x);'

perl -e '$x = 2.4; print sprintf("%.0f + %.0f = %.0f\n", $x, $x, $x + $x);'

respuesta

Imagen de Mac_Gyver

Pues mi aplicacion es simplemente un ejecutable desarrollado en delphi no se instala solo se lo copia en la raiz (c:\) y tiene un archivo .ini para parametros de inicio como rutas de impresoras, autoupdate, entre otras, con lo que respecta a la conexion de base de datos simplemente hago un odbc de sistema que apunte a mi servidor sql y luego cuando abro el BDE Adminstrator que si hay que instalar aparece automaticamente una conexion tipo sqlserver de igual nombre que mi odbc y iviamente le hace referncia y lo unico que cambio es los balores de block size que stan en 23 y le pongo 1024 para hacer el acceso a la base un poco mas rapida

ok

Muchas de las aplicaciones

Imagen de antares

Muchas de las aplicaciones derivadas de Borland funcionan simplemente copiandolas, sin embargo a_villacis tiene razón, el BDE debe ser instalado, aún cuando la aplicación funcionen solo copiándolas el BDE no funciona así.

Saludos

Saludos,

antares

Veamos si entendí los

Imagen de a_villacis

Veamos si entendí los puntos básicos:

  1. La aplicación en sí, no requiere instalación, pero depende de DBD.
  2. BDB, para ser configurado, requiere de BDB Administrator, el cual se debe instalar.
  3. En su caso específico, BDB Administrator requiere conectar BDB a una fuente de datos ODBC.
  4. La fuente ODBC (en Windows) puede configurarse de manera independiente de BDB o de BDB Administrator.

Usted no ha mencionado de forma clara quién emite el mensaje de "database unknown", si su aplicación, al ser iniciada, o el BDB Administratorm al intentar configurar la fuente de datos. Pero voy a asumir que es la aplicación en sí. Si no es así, por favor indíquemelo.

Lo primero que hay que saber es que en Wine, el soporte ODBC es poco más que un puente. Para funcionar, el soporte ODBC para Wine depende por completo del soporte nativo ODBC en GNU/Linux. Por lo tanto, para poder usar una fuente de datos ODBC desde una aplicación bajo Wine, lo primero que hay que asegurar es que la fuente de datos funcione bajo Linux independientemente de Wine. Esto es en contraste al soporte ADO, el cual lo debería instalar la aplicación Windows, y que (en algunas configuraciones), se salta el soporte ODBC y usa funciones de objetos COM directamente.

Pare que usted tiene una base de datos Microsoft SQL Server. Entonces lo que hay que hacer se resume en los siguientes pasos:

  1. Instalar (si es necesario) y probar acceso a SQL Server desde dentro de Linux, con independencia de ODBC.
  2. Instalar (si es necesario) y probar el soporte ODBC para que use SQL Server como fuente de datos, con independencia de Wine.
  3. Hacer referencia a la fuente de datos de ODBC desde dentro de Wine, con el DBD Administrator.

En GNU/Linux, el soporte para acceso a MS SQL Server (y a Sybase, del cual deriva SQL Server) lo proporciona el paquete de FreeTDS (disponible aquí). Lo más recomendable es instalarlo a través de los repositorios de su distro (yum install, o apt-get como se ajuste). Entonces siga los pasos del manual de FreeTDS para configurar una fuente de datos y hacerla funcionar a través del programa de prueba "tsql" proporcionado por el paquete.

El segundo paso requiere el paquete unixODBC disponible aquí. Como antes, lo recomendable es instalarlo a través de los repositorios de su distro. Ya que en el paso anterior usted tuvo que crear una fuente SQLServer en /etc/freetds.conf, ahora tiene que configurar el acceso en /etc/odbc.ini o en /etc/odbcinst.ini. El archivo odbcinst.ini es para declarar los drivers disponibles, compartidos entre múltiples fuentes de datos. El archivo odbc.ini lista las fuentes en sí. /etc/odbc.ini lista las fuentes para todos los usuarios, mientras que /home/su_usuario/.odbc.ini lista las fuentes para un usuario en particular que ejecuta Wine. Una vez configurada la fuente, debería poderse usar mediante el programa "isql" de unixODBC (distinto al programa "tsql" de FreeTDS) para conectarse a la base SQL Server.

Por si acaso, debo indicar que existe el programa ODBCConfig que muestra una interfaz gráfica para la configuración de fuentes de datos. Es el análogo al icono de ODBC del panel de control de Windows, excepto que puede que requiera localizar manualmente los archivos .so de los drivers y configurador de conexión (dentro de /usr/lib). En Fedora, es parte del paquete unixODBC-kde

Como último paso, ejecute el BDB Administrator bajo Wine e ingrese la fuente que se creó en el segundo paso...

Sólo por curiosidad, qué distro usa usted? Y qué versión de Wine? La más reciente actualmente es 0.9.59.

perl -e '$x = 2.4; print sprintf("%.0f + %.0f = %.0f\n", $x, $x, $x + $x);'

perl -e '$x = 2.4; print sprintf("%.0f + %.0f = %.0f\n", $x, $x, $x + $x);'