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 20-08-2012
Hispanohablante Hispanohablante is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 23
Poder: 0
Hispanohablante Va por buen camino
Me parece que quiso decir "acceder" donde dice "accesar". Por otro lado y aunque mi inglés no es bueno, creo que el moderador le dio una muy buena referencia que no merecía tan exiguo agradecimiento (esto último puede ser solamente una mala interpretación de mi parte).

De cualquier manera le extiendo a usted mis respetos, y al moderador le agradezco por la valiosa información que ha compartido.
__________________
:)
Responder Con Cita
  #2  
Antiguo 20-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.062
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Hispanohablante Ver Mensaje
De cualquier manera le extiendo a usted mis respetos, y al moderador le agradezco por la valiosa información que ha compartido.
¡¡¡ Gracias !!!
Responder Con Cita
  #3  
Antiguo 20-08-2012
ElMug ElMug is offline
Miembro
NULL
 
Registrado: jul 2012
Posts: 163
Poder: 12
ElMug Va por buen camino
Esto es a lo que me refiero: (viene del sitio oficial de SQLite3):

We are aware of no other embedded SQL database engine that supports as much concurrency as SQLite. SQLite allows multiple processes to have the database file open at once, and for multiple processes to read the database at once. When any process wants to write, it must lock the entire database file for the duration of its update. But that normally only takes a few milliseconds. Other processes just wait on the writer to finish then continue about their business. Other embedded SQL database engines typically only allow a single process to connect to the database at once.

Y la pagina es:
http://www.sqlite.org/lockingv3.html

Y la pregunta especifica es: Alguien lo ha logrado con aplicaciones Delphi? Y de ser asi, con que componentes?
Responder Con Cita
  #4  
Antiguo 20-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.062
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
En la web de sqlite explican todo lo que preguntas, por ejemplo:
Cita:
Can multiple applications or multiple instances of the same application access a single database file at the same time?
Multiple processes can have the same database open at the same time. Multiple processes can be doing a SELECT at the same time. But only one process can be making changes to the database at any moment in time, however.
SQLite uses reader/writer locks to control access to the database. (Under Win95/98/ME which lacks support for reader/writer locks, a probabilistic simulation is used instead.) But use caution: this locking mechanism might not work correctly if the database file is kept on an NFS filesystem. This is because fcntl() file locking is broken on many NFS implementations. You should avoid putting SQLite database files on NFS if multiple processes might try to access the file at the same time. On Windows, Microsoft's documentation says that locking may not work under FAT filesystems if you are not running the Share.exe daemon. People who have a lot of experience with Windows tell me that file locking of network files is very buggy and is not dependable. If what they say is true, sharing an SQLite database between two or more Windows machines might cause unexpected problems.
We are aware of no other embedded SQL database engine that supports as much concurrency as SQLite. SQLite allows multiple processes to have the database file open at once, and for multiple processes to read the database at once. When any process wants to write, it must lock the entire database file for the duration of its update. But that normally only takes a few milliseconds. Other processes just wait on the writer to finish then continue about their business. Other embedded SQL database engines typically only allow a single process to connect to the database at once.
However, client/server database engines (such as PostgreSQL, MySQL, or Oracle) usually support a higher level of concurrency and allow multiple processes to be writing to the same database at the same time. This is possible in a client/server database because there is always a single well-controlled server process available to coordinate access. If your application has a need for a lot of concurrency, then you should consider using a client/server database. But experience suggests that most applications need much less concurrency than their designers imagine.
When SQLite tries to access a file that is locked by another process, the default behavior is to return SQLITE_BUSY. You can adjust this behavior from C code using the sqlite3_busy_handler() or sqlite3_busy_timeout() API functions.
Cita:
Empezado por ElMug Ver Mensaje
Esto es a lo que me refiero: (viene del sitio oficial de SQLite3):

We are aware of no other embedded SQL database engine that supports as much concurrency as SQLite. SQLite allows multiple processes to have the database file open at once, and for multiple processes to read the database at once. When any process wants to write, it must lock the entire database file for the duration of its update. But that normally only takes a few milliseconds. Other processes just wait on the writer to finish then continue about their business. Other embedded SQL database engines typically only allow a single process to connect to the database at once.

Y la pagina es:
http://www.sqlite.org/lockingv3.html

Y la pregunta especifica es: Alguien lo ha logrado con aplicaciones Delphi? Y de ser asi, con que componentes?

Amigo, no te enteras.
Responder Con Cita
  #5  
Antiguo 20-08-2012
ElMug ElMug is offline
Miembro
NULL
 
Registrado: jul 2012
Posts: 163
Poder: 12
ElMug Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Amigo, no te enteras.
Te empeñas en no contestar la pregunta, o no entenderla, Casimiro.

Si no sabes contestarla, o no usas SQLite3, pues no deberias de insistir en señalar al projimo, causando solo repudio y polemicas totalmente innecesarias.
Responder Con Cita
  #6  
Antiguo 20-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.062
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No es concurrente, así que lo que pretendes hacer no se puede conseguir porque sqlite no es una "auténtica" base de datos multiusuario y multitarea.
Ya lo pone en el texto "que has encontrado" y ya te lo han comentado otro compañero.
No puedes encontrar ningún componente que hagas lo que quieres porque la BD no lo permite, no tiene nada que ver con los componentes que uses.

Si quieres conseguir lo que pretendes, haz caso a los propios creadores de sqlite, ya lo dice en el texto de ellos (extraido del texto que te puse al principio):
Cita:
However, client/server database engines (such as PostgreSQL, MySQL, or Oracle) usually support a higher level of concurrency and allow multiple processes to be writing to the same database at the same time. This is possible in a client/server database because there is always a single well-controlled server process available to coordinate access. If your application has a need for a lot of concurrency, then you should consider using a client/server database. But experience suggests that most applications need much less concurrency than their designers imagine.
Y como dice rretamar, también Firebird.

Por cierto, en todos tus mensajes deja muy claro que no sabes y, sin embargo, descalificas a los que te contestan, que te contestan porque saben.
Una cura de humildad te vendría bien.
Saludos.
Responder Con Cita
  #7  
Antiguo 20-08-2012
ElMug ElMug is offline
Miembro
NULL
 
Registrado: jul 2012
Posts: 163
Poder: 12
ElMug Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
No es concurrente, así que lo que pretendes hacer no se puede conseguir porque sqlite no es una "auténtica" base de datos multiusuario y multitarea.
Ya lo pone en el texto "que has encontrado" y ya te lo han comentado otro compañero.
No puedes encontrar ningún componente que hagas lo que quieres porque la BD no lo permite, no tiene nada que ver con los componentes que uses.

Si quieres conseguir lo que pretendes, haz caso a los propios creadores de sqlite, ya lo dice en el texto de ellos (extraido del texto que te puse al principio):

Y como dice rretamar, también Firebird.

Por cierto, en todos tus mensajes deja muy claro que no sabes y, sin embargo, descalificas a los que te contestan, que te contestan porque saben.
Una cura de humildad te vendría bien.
Saludos.
Tu inerpretacion no es correcta, Casimiro.

SQLite es multiconcurrente, y aun se puede usar (y se usa) en websites.

Si lees mas detenidadmente la informacion de SQlite, inclusive la que tu mismo citas, te darias cuenta de que SI es multi usuario.

Los locks que pone SQLite3 no se comparan con los de una basededatos tipo servidor, pero aun ellas tambien detienen el acceso al escribir datos mediate "ques".

Ademas, ya explique que tengo una aplicacion que permite la funcion como me interesa. Con dos aplicaciones de ella, abro la misma base de datos y puedo usarlas yo mismo, leer y escribir sin problemas. Lo mismo es posible con mas usuarios sobre la misma base de datos.

Desde luego no pretendo decir ni he dicho que SQLite sea igual que Postgres o Oracle en cuanto a multiusuarios y administracion de transacciones.

Si no hay respuestas, procedo a investigar los componentes de Devart, que claramente especifican que puede lograr lo que pregunte.

Aqui esta esta cita de Devart (no es mi antojo):
SQLite technology support

  • SQLite database encryption in Direct mode
  • Custom SQLite to Delphi data type mapping
  • Concurrent access <=========================ESPERO SEA CLARO ESTO
  • Shared-Cache mode
  • Read Uncommitted<----------------TAMBIEN ESTO ES IMPORTANTE
  • SQLite user-defined functions
  • Foreign keys
  • Autoincrement
  • Fast record insertion with the TLiteLoader component
La cita de Devart indica que aprovecha las funciones ya de por si de SQLite.
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
manipular la misma base de datos en la misma pc DELFIN2000 Conexión con bases de datos 10 23-07-2010 18:34:28
doble Puerto serial a la misma base de datos FGarcia Varios 0 22-11-2006 23:45:29
Dos aplicaciones y sola base de datos..? kia Conexión con bases de datos 19 01-05-2006 18:08:20
¿Existe algún problema si quiero utilizar 2 TQuery para la misma base de datos ? nuri SQL 4 28-07-2005 09:40:54
Novato - Aplicaciones con Base de Datos Chocoslovaco Conexión con bases de datos 9 08-07-2005 11:25:12


La franja horaria es GMT +2. Ahora son las 14:20:06.


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