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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-10-2006
Maibok Maibok is offline
Miembro
 
Registrado: mar 2005
Posts: 28
Poder: 0
Maibok Va por buen camino
MySQL, Delphi y cliente servidor

Bunas a todos. Quiero hacer una aplicación tipo cliente servidor alojando la base de datos en un servidor que use MySQL 5 y acceder a ella desde otros ordenadores (clientes) con un programa desarrollado en Delphi. Me podríais decir a grandes rasgos los pasos que debería hacer??.

Una vez esté desarrollado el programa en delphi en el cliente para acceder a la base de datos en el servidor serviría con poner la IP del servidor no??? y si se cambia de servidor cambiar la ip verdad??

Me he decidido por mysql 5 porque igual desarrollo otra aplicación que acceda a la misma base de datos, pero esta ya en php, y hay mucha documentación para unir php y mysql. Nada más, sime podéis ayudar un poco os lo agradecería. Ya sé que la pregunta es muy general, pero de momento es lo que necesito, la idea en general. Y si conocéis algún programita desarrollado de prueba que haga eso también os lo agradecería. Saludos!!!
Responder Con Cita
  #2  
Antiguo 06-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola Maibok
Para empezar tienes varias opciones para esto, conexion con ado, zeos entre otros, particularmente diria que si la base de datos contiene mucha informacion yo te recomiento zeos.
Si esta es tu opcion tendrias que vajar los componentes zeos, que son de uso gratis, instalarlos en delphi, siguiendo las instrucciones y despues vuelve y te ayudamos por aqui.
De interesarte ado, es mas simple ya que delphi lo tiene, nada mas indica tu opcion y te ayudamos.
Saludos
Responder Con Cita
  #3  
Antiguo 06-10-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Hace unos días alguien mencionó algún problema que había tenido usando Zeos para acceder a MySql 5.0 y sí hay que tomarlo con cuidado porque la última versión estable de Zeos (la 6.1.5) sólo manejaba MySql 4.x por lo que no será de extrañarse que no todo funcione bien con la 5.x.

Si estás dispuesto a desembolsar un poco, no es gran cosa, yo optaría por MyDac de CoreLab. He usado ambas y me parecen más robustas éstas, además de que están siempre al día en cuanto a soprte para nuevas versiones.

// Saludos
Responder Con Cita
  #4  
Antiguo 06-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Estoy de acuero con Roman
El problema de MyDac es ese, hay que compralo, perdona desconocia que zeos tuviese problemas con la version 5, si es asi y no hay por donde agarrarse se tedria que usar ado, No es asi?
Saludos
Responder Con Cita
  #5  
Antiguo 06-10-2006
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Amigo, Yo te recomendaría que si deseas hacer una aplicación de dos capas, lo mejor que puedes usar es MsSql + ADO, colocando las reglas del negocio en la parte del servidor de base de datos (USando para ello Sps, trigers, funciones, etc etc etc) y solo la funcionalidad en la parte de la apliacción.


Mysql no es una buena opción para desarrollos de escritorio N-Tier. (Lo siento fans de Mysql), puesto que una de sus mayores desventajas es precisamente la capa de coenxión en aplicaciones de escritorio. ya que por un lado si deseas usar ADO, mysql solo proporciona conectores Odbc con lo que la capa se hace más gruesa además de que la versión actual de ODBC ofrece un soporte muy pobre a los Sps de Mysql 5. Por otro lado zeos te permite mantener una capa de conexión delgada pero tiene muchas desventajas precisamente en el soporte a Sps y seguridad.


Para el web es grandioso, pero para aplicaciones Ntier no lo recomiendo. A menos que Mysql saque un proveedor OleDb.


suerte
Responder Con Cita
  #6  
Antiguo 06-10-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Uso MySql sin ningún problema en aplicaciones de escritorio. Claro que no uso ODBC y tampoco Zeos. Uso MyDac.

// Saludos
Responder Con Cita
  #7  
Antiguo 06-10-2006
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
y podrías comentarnos román, como manejas tus transaciones?
como manejas tu lógica de negocios?
en cúantas capas están desarrolladas tus aplicaciones?.
Como menejas tus conexiones?


Sería muy bueno que lo comentaras ya que así, quien se está iniciando en mysql y pudiera considerar esos aspectos en base a tu experiencia con Mysql y MyDac
Responder Con Cita
  #8  
Antiguo 06-10-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Cómo manejo mis transacciones? Pues con StartTransaction, Commit y Rollback. ¿En cuántas capas? Aquí estábamos hablando de dos ¿qué no? No uso stored procedures, no me gustan, no los he necesitado. ¿A qué te refieres con manejar conexiones?

Por cierto, conste que yo no estoy diciendo que sea mejor usar MySql que MS SQL ni alrevés, sólo que sí que se puede hacer la conexión sin ODBC.

// Saludos
Responder Con Cita
  #9  
Antiguo 06-10-2006
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
tampoco creí eso, solo que me dió curiocidad saber como programabas en cliente servidor con mydac y mysql.


Te recomendaría mucho que evaluaras el uso de Sps ya que de verdad te facilitan mucho la tarea, y en cuanto a las conexiónes mi pregunta era sobre si las usabas persistentes o dinámicas, ahh y de las transaccciones si lo hacias en la aplicación con mydac o en la base de datos. incluyendo la lógica de negocios.

Te preguntaba eso ya que son cuestiones de vital importancia a considerar cuando desarrollas aplicaciones Ntier

Responder Con Cita
  #10  
Antiguo 06-10-2006
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Poliburro.

eso de los Stored procedures, como funcionan, o en donde
es mejor emplearlos.

'¿podrias poner algun ejemplo donde los usas con su codigo fuente?

Gracias
Responder Con Cita
  #11  
Antiguo 07-10-2006
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Un procedimiento almacenado es un script escrito en lenguaje T-Sql y es almacenado por el motor de base de datos que tú elijas. Es muy recomendable su uso Por entre muchas, las siguientes razones.


1- Ya que el motor de base de datos es quíen análiza y optimiza al momento de ser creados los Procedimientos almacenados, su ejecución en cada llamada tiene un mayor rendimiento a que si estás lanzando querys que deben ser analizadas y optiminzadas por cada ejecución. En este punto otra ventaja es que en sql server puedes hacer uso de los planes de ejecución para evitar los Index scan que decrementan terriblemente el rendimiento del motor de base de datos.

2- El leguaje T-SQl te permite optimizar operaciones que si las haces desde tu aplicación requeririan el lanzamiento de varias consultas al motor de base de datos.


3- Al tener tu lógica en el motor de base de datos, un cambio en la manera en que debe ser procesada determinada acción sobre tus tablas es una tarea sencilla en comparación de las aplicaciónes que tienen regadas copnsultas de acceso a datos. Además de que un Sp que desarrollaste para un sistema de escritorio puede funcionarte para un fron-end web. En cambio, si usas consultas deberás hacer doble trabajo.





4-Imagina que tienes una aplicación que lanza código de decenas o cientos de líneas para consultar datos, ahora imagina que tu aplicación es ejecutada por 100 clientes concurrentes. Resultado de esto? un desperdicio innecesario de recursos de red, y un decremento terrible del motor de base de datos. Al utilizar Sps, solo invocas el nombre del sp, le pasas los parámetros, si acaso los requiere, y listo, ya que el motor previamente ha optimizado el script, su degradación es mínima

Hay muchás más razones del por que se deben usar sps. y su uso es muy sencillo,

tomas la paleta ADO seleccionas el AdoStoredProcedure y haces


ADOStoredProc1.Parameters.CreateParameter(Nombre,Tipo,Direccion,Tamaño,ValorInicial)


Suerte
Responder Con Cita
  #12  
Antiguo 09-10-2006
FerCastro FerCastro is offline
Miembro
 
Registrado: abr 2006
Posts: 97
Poder: 19
FerCastro Va por buen camino
MyDAC

Te recomendaría que utilizaras el componente MyDAC de crlab pues es muy robusto estable y sencillo de usar, además que no tienes que instalar nada más para acceder a las tablas.

El precio no es tan alto (algo así como 70 USD)

Saludos cordiales
Responder Con Cita
  #13  
Antiguo 10-10-2006
Avatar de makina
makina makina is offline
Miembro
 
Registrado: oct 2005
Ubicación: Mexico DF.
Posts: 27
Poder: 0
makina Va por buen camino
La ventaja que veo de MySQL sobre MSSQL es que MySql es gratis y es una excelente base de datos, si no SAP no los habria elegido para construir su base de datos MaxDB, Ademas el uso de sps (o pl's como se llaman en oracle) depende de que tipo de aplicacion necesites desarrollar, el uso de sp's es muy bueno, sin embargo tiene una gran limitante, si tu deseas hacer una aplicacion portable y multi plataforma los sps solo te pondran obstaculos, ya que los sps de mssql tienen diferente sintaxis a la de mysql, a oracle y entre cualquier bd, asi que uno puede precindir de ellos, un ejemplo de ERP robusto y que no usa SP's en su estrucutura es Protheus de microsiga (una empresa brasileña) y no por esto deja de ser rapido, estable, robusto y multiplataforma ( corre desde tablas planas c-tree, dbf, mysql, mssql, db2, postgre.. hasta oracle) y con respecto a mssql si tengo malas experiencias, intelisis (un erp mexicano) basa su logica en sps, y por mala suerte he tenido problemas con su performance, es decir se alenta cuando por descuido construyes un sp no optimizado, por su puesto esto no ocurre en oracle, sap aunque soporta cualquier bd recomienda usar oracle, meta4 (un gestor de RH español) de igual forma, por ejemplo meta4 es muy estable en oracle no siendo asi en mssql, asi que si puedes elegir que bd utilizar (y tienes el $ suficiente) pues elige oracle, si no pues mysql, mssql es bueno pero no lo mejor. Saludos
Responder Con Cita
  #14  
Antiguo 11-10-2006
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
suena interesante poliburro.

pero no tengo idea de como meterle los stored procedures en
el motor de la base de datos.

gracias
Responder Con Cita
Respuesta



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
Ayudenme con Preguntas sobre cliente/servidor en Delphi aguila MS SQL Server 9 18-10-2005 01:05:18
base de datos cliente/servidor 3 capas DElphi y sql jose_2057111 Conexión con bases de datos 0 10-06-2005 19:16:19
Base De Datos Cliente/servidor 3 Capas Delphi Sql jose_2057111 Conexión con bases de datos 0 07-06-2005 03:53:58
Conexión de una aplicacion cliente en varias pc a un servidor mysql ctronx Conexión con bases de datos 6 16-07-2004 16:55:39
Aplicaciones Delphi Cliente/servidor TelloClos Conexión con bases de datos 8 09-06-2003 17:12:38


La franja horaria es GMT +2. Ahora son las 17:23:43.


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