Ya tengo el instalador de mi aplicación listo, lo que pasa es que yo quisiera que luego de instalarlo, al no detectar la base de datos(que esta en SQL Server 2000)me de la opción de crear la base de datos, y también si se puede crear el profile de ODBC de forma automática, es decir ya no en forma manual.
1 respuesta
Respuesta de Antonio Garcia
1
1
Antonio Garcia, clipper todas sus versiones (manejo total) power builder todas...
Datos, y de la misma forma utilizando archivos ini, puede incluir distintas formas de conexión, ya sea por medios nativos, o por medio de odbc. Espero esto pueda serevir de ayuda para resolver tu problema
Disculpa la molestia, he leído la respuesta y esta incompleta, pero algo se entiende, no se si podrías dar un alcance un poco más detallado del uso de los archivos ini, como seria más o menos la estructura o sintaxis. Gracias Antonio.
Esto es muy extraño, la respuesta no esta completa. Bueno, con respecto a tu pregunta. Existen instaladores que pueden incluir determinadas acciones para resolver este tipo de inconvenientes, los cuales por supuesto deben depender de programas de terceros, digamos que para poder crear la base de datos debe estar previamente instalada la base de datos, administrador de esta, etc. Si tu intención es distribuir software mi recomendación es la siguiente. 1.- Si tu intención es crear un instalador para múltiples bases de datos esto te puede representar tener varios instaladores, tantos como bases de datos puedas recrear. 2.- Recuerda que a las alturas de nuestra época, existen leyes que permiten la demanda de responsabilidades contra terceros, esto significa que si en tu programa de instalación incluyes manejadores específicos de una base de datos cualquiera, esta podría exigir responsabilidades por utilizarlos sin previa autorización. 3.- Seguramente después de hacer todo esto, siempre vas a necesitar resolver una situación nueva. Mis recomendaciones en esta caso, y por la experiencia que me incluye este tipo de cosas, son las siguientes. - La instalación de tu software debería ser totalmente independiente de la base de datos. - La creación de la base de datos podría estar en archivos de tipo scrpit, los cuales pueden ser ejecutados por medio de un administrator, utilizando código SQL universal. - Podrías incluir como complemento de tu software un cd con la instalación y demás de una base de datos gratuita, digamos MySQL o FireBird, los cuales proveen este producto sin costo alguno, tan simple como bajarlo directamente de sus páginas centrales. En mi caso yo distribuyo mi software con MySQL, el cual entrego en un CD adicional e independiente, y con sus propios instaladores, tal y como se bajan del internet, la respuesta es muy simple, MySQL es una base de datos de uso gratuito y sin costo alguno en su licencia, sin embargo en el contrato de uso, existen clausulas que determinan el pago de licencia, en caso que un proveedor de software incluya la instalación de dicha base de datos, odbc, etc. pues esto implica que el producto tiene participación directa con el software. Para evitar este tipo de cosas lo mejor es tenerlo totalmente independiente. Sin embargo MySQL no es la única base de datos que mis productos pueden utilizar, puesto que hoy en día basta con tener un ODBC inscrito y el resto es muy simple, lastimosamente este proceso es algo que tarde o temprano hay que hacer, me refiero a instalar un ODBC, o bien librerías nativas propias de la base de datos en uso, por ejemplo, SQL-Server. La propuesta básica de mi software es MySQL, sin embargo el cliente es libre de aceptarla o bien definir el cual es la base de datos a utilizar. Para resolver la creación de la base de datos, me he creado un objeto el cual se encuentra programado en delphi, y exportado en una librería dll, este es el que me resuelve la creación de la base de datos, tablas, indices, etc. cualquier lenguaje que pueda exportar sus funciones o procedimientos en librerías dinámicas servirá. Yo utilice delphi por la flexibilidad que tiene en sus objetos y componentes, para manejar bases de datos. Para complementar el componente externo utilizo 2 archivos del tipo INI, en estos archivos uno para el detalle de cada una de las tablas, y el otro para los indices, puedo, añadir, borrar, modificar, corregir, crear nuevos indices o bien borrarlos. Todo simplemente con la coordinación de dichos archivos. El concepto del objeto es muy simple, lee los dos archivos ini, y relaciona las etiquetas grupales, para crear tablas e indices, y las etiquetas individuales para los campos (en los cuales incluyo tipo, longitud, decimales), una vez leídos los datos del archivo ini, se los doy al objeto manejador de tablas de delphi y listo, el los crea, y así una a una, hasta que finaliza el archivo. Este objeto es el primero que se ejecuta, al iniciar el ejecutable, puesto que es el que determina la existencia correcta de las tablas y/o la base de datos. Adicionalmente tengo un tercer archivo ini, el cual aunque no esta relacionado con los 2 anteriores, es el que me sirve para indicarle a la aplicación o aplicaciones su comportamiento, como por ejemplo, cual es la conexión activa, el directorio de trabajo, los componentes relacionados, configuración de banderas, etc, etc, etc. Inconvenientes de este proceso ============================== Todo esto necesita o bien de tu presencia, o de un manual de instalación, y me refiero a la creación del ODBC, o bien de las librerías nativas, etc- Aunque el objeto que crea la base de datos y demás estructura, resuelve parte del problema siempre vas a encontrar un nuevo obstáculo que limite esta situación. Como te digo en lineas anteriores, lo mejor es proponer una base de datos que puedas incluir dentro de tu software, la cual es la básica, y el resto es elección del cliente. De esta forma te estas cubriendo de cualquier tipo de responsabilidades.