In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Sqlitening-interesante

SQL databases
juan.castillo
Posts: 8
Joined: Tue Jan 26, 2016 10:42 pm

Sqlitening-interesante

Postby juan.castillo » Wed Jan 27, 2016 5:43 pm

Buenos días Grupo, pues nada que "googleando" llegue a este sitio http://www.sqlitening.com , comentan que es una implementación de Sqlite como cliente-servidor. Esta hecho al parecer con PowerBasic y el acceso del cliente es con la ayuda de unas DLL que pueden usarse desde otros lenguajes, asi que suena muy interesante... compartido.

Codigo de ejemplo extraido de la ayuda:

'IP could be a local or global string variable holding the IP adress of the server,
'i. e. "192.168.1.42" in a LAN, "83.122.201.123" or "myserver.no-ip.org"
'for an Internet based connection (WAN),

FUNCTION DBConnect()as long

Local lErr as String
slConnect IP, 0, "E0"
'Error handling
lErr = slGetError
IF VAL(lErr) <> 0 THEN
MSGBOX lErr, 0, "Connection Error"
END IF

END FUNCTION

Saludos Cordiales.

PD Una disculpa si ya fue comentado.
Analista programador de la vieja guardia.
juan.castillo
Posts: 8
Joined: Tue Jan 26, 2016 10:42 pm

Re: Sqlitening-interesante

Postby juan.castillo » Wed Jan 27, 2016 9:34 pm

Haciendo pruebas con las DLL, el siguiente código funciona sin marcar error pero genera la base de datos con el nombre con la primera letra, es decir... en lugar de generar "sample.db3" solo genera "s"; si se accesa el archivo "s" lo abre sin problema la opción de "Explorar SQLite..." del menú de Xailer.


Method Prueba( oSender ) Class TForm1

Local cDb := "sample.db3"
Local xValue
//
xValue := hb_dynCall( { "slOpen", "SQLitening.Dll", HB_DYN_CALLCONV_STDCALL } , cDb, 'C')

RETURN Nil
Analista programador de la vieja guardia.
juan.castillo
Posts: 8
Joined: Tue Jan 26, 2016 10:42 pm

Re: Sqlitening-interesante

Postby juan.castillo » Thu Jan 28, 2016 12:14 am

De esta manera si crea la base de datos pero no se logra hacer mas operaciones, como si no terminara de abrirla, esta herramienta tiene 3 librerias, sqlitening.dll para basic API, sqliteningS.dll para special API y sqliteningU.dll para universal, esta ultima fue con la que funciono, obvio algo falta pero no doy con el problema. El include de powerbasic para su acceso es lo siguiente:

'==============================<[ Open ]>==============================
Declare Function sluOpen lib "SQLiteningU.Dll" alias "sluOpen" ( _
byval FileName as Long, _
byval ModChars as Long) as Long
' FileName is a pointer to a null-terminated string. If not needed you
' may pass a zero.
' ModChars is a pointer to a null-terminated string. If not needed you
' may pass a zero.

La prueba en Xailer es la siguiente:

METHOD BtnBmp5Click( oSender ) CLASS TForm1

Local cDb := Application:cDirectory + "maspruebas.db3"
Local xVal
//
xVal := DllCall( "SQLiteningU.Dll", DLL_OSAPI, "sluOpen", cDb, "C" )
Message xVal

xVal := DllCall( "SQLitening.Dll", DLL_OSAPI, "sluExe", "Create Table If Not Exists JuanCarlos (F1, F2, F3, F4)" )
Message xVal

RETURN Nil

PD Entiendo que la recomendación es usar MySql o MariaDb , pero si se puede ampliar las opciones que tenemos pues con la imaginación se abren mas posibilidades :-)
Analista programador de la vieja guardia.
User avatar
ignacio
Site Admin
Posts: 8221
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

Re: Sqlitening-interesante

Postby ignacio » Thu Jan 28, 2016 10:31 am

Buenos días,

En Xailer somos partidarios de utilizar SQLite SOLO para entornos locales de acceso único y de forma excepcional poder compartir la BD con otros usuarios y ser posible en modo lectura. En el resto de los casos recomendamos MariaDB (versión gratuita y totalmente compatible de MYSQL) sin dudarlo un instante. En Xailer hemos hecho un gran esfuerzo para que incluso sea posible hacer aplicaciones que pueden funcionar indistintamente en los dos sistemas a la vez, para ello se han incorporado en SQLite unas cuantas funciones que si existen en MariaDB.

Saludos
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
juan.castillo
Posts: 8
Joined: Tue Jan 26, 2016 10:42 pm

Re: Sqlitening-interesante

Postby juan.castillo » Thu Jan 28, 2016 6:16 pm

Gracias Ignacio por la observación, entiendo muy bien su parecer. Si me da el tiempo seguiré investigando y si a alguien le interesa el tema con gusto compartiré si logro algo. Saludos Cordiales. :-) y aprovecho para Felicitar a Todo el Equipo de Xailer, tengo un buen tiempo usándolo y esta EXCELENTE y en mejora constante.
Analista programador de la vieja guardia.

Return to “SQL”