• Welcome, Guest. Please login.
 
August 26, 2019, 12:07:06 am

News:

Welcome to the SQLitening support forums!


SQLite3 client/server experiment

Started by Paul Squires, September 02, 2007, 02:30:53 pm

Previous topic - Next topic

Paul Squires

Well, here it is:  http://www.planetsquires.com/files/sqlite_test.zip

The details are in the file 'readme.pdf'.

This is still an early work-in-progress but it shows the benefits of working with a proven, sql based, database such as SQLite and showcases the robustness of the client/server model.

Hope it works for you. For this demo, all you need to do unzip the files to a directory. Run the server 'sql3server.exe' and then run the test client program 'testclient.exe'. I'm sure that you'll figure it out.  ;)

Comments, suggestions, please post.

Source code is not available. Maybe it will be some day, but for now it is just freeware.


Marc Van Cauwenberghe

Thank you Paul,

This really is a treat and it isn?t Christmas yet. I will convert one of my projects next weekend and let you know.
A few good (freeware) database managers for SQLite:
SQLite Expert at http://www.sqliteexpert.com/
SQLite2007 Pro Enterprise Manager at http://www.osenxpsuite.net/?xp=3

Anyone else have info to get this started?

Marc

tom cone jr

Paul,

Thanks!

Being able to see the source code for "testclient.exe" would be helpful.  Hope you'll consider releasing it soon.

-- tom

Paul Squires

Quote from: tom cone jr on September 03, 2007, 01:49:03 pm
Being able to see the source code for "testclient.exe" would be helpful.  Hope you'll consider releasing it soon.

-- tom


The only problem is that testclient.exe is written using FireFly 3.... and I am the only one who has a copy of that.  :)


Paul Squires

September 03, 2007, 02:08:59 pm #4 Last Edit: September 03, 2007, 02:10:36 pm by TechSupport
A little history how this project came about. Two weeks ago, I spent an entire day working on a client/server implementation for the new Cheetah Database. Sure, it worked, but I was finding that I was spending a lot of time trying to make it efficient for getting commands to the server. For example, say you had to add 100 records. In Cheetah, you could xdbAddRecord 100 times causing 100 calls across the network to the server - or, I could write some elaborate system that batched/buffered the records until there was sufficient quantity enough to send to the server at once (say, every 20 records making it only 5 calls to the server).

Then came queries.... I did not want to build a query processor like was in the original Cheetah but actioning queries in a client/server environment meant that in order to make it efficient I would have to have the server perform the query. I struggled with having to make the decision to build the query processor and then I started looking at the way SQL was set up. SQL is built to be extremely suitable for a network environment. Multiple SQL commands and be sent at any one time and they are in text format making it easy to send (and compress or encrypt if necessary). I then thought that maybe it would be a great idea to concentrate on SQLite for the backend of the client/server rather than Cheetah. Doing so meant 95% of all of the hard work would be done for me. I would only have to concentrate on optimizing the client/server part rather than the database engine itself. I roughed up the code and got it working to a point where I am very happy with the result (so far).

Benefits of SQLite is that it is SQL based meaning that there is a vast amount of tutorials and info available for people to use when wanting to manipulate their data. SQLite is transaction based (something that Cheetah never was, or probably never would be), so data integrity was much better. SQLite is small, light weight, and easy to install (basically copy the DLL). SQLite has MANY developers pouring over the code so the engine is very robust, complete, and constantly being updated.

We will see how this project develops over the next couple of months but my gut feeling is that it will become my primary database product for my development needs. The product is designed in such a way that you can use it locally or with the full-blown client/server model. The choice is yours and there is virtually no extra code needed to add to your programs to convert from model to the other.


Robert E. DeBolt

Great to hear of it Paul!

I hope to see it soon on FireFly 3.  I hope it doesn't require the ODBC driver, since it refuses to install on my machine (XP/PRO).
Regards,
Bob
Robert E. DeBolt
rdebolt@insight.rr.com

Paul Squires

Hi Bob,

I'm still working very hard on FireFly 3. It is really starting to take shape. Building the code editor is what delayed my schedule by a lot however it was worth it. If I had stuck with the older CodeMax control then I probably would be finished by now.

You can download the SQLite client/server stuff from http://www.planetsquires.com/files/sqlite_test.zip. It doesn't require any installation whatsoever. No ODBC driver, nothing. It is the easiest database system to install. Simply copy the files to a directory and run them. No fuss at all.

My longer term goal is to amass a collection of "business application" related tools because those are the types of applications that I normally build. Stuff like a great grid (EGrid for example), a great reporting toolkit (Like DDoc with more flexibility and PDF output), database (hopefully this SQLite client/server will suffice), etc...  I want FireFly 3 to be able to click a few buttons and a standard application template be created for the user that will have menus, toolbars, statusbar, database interface, etc... all ready in a default project.




JoeByrne

QuoteI want FireFly 3 to be able to click a few buttons and a standard application template be created for the user that will have menus, toolbars, statusbar, database interface, etc... all ready in a default project.

If anyone can pull this off, it would be you Paul!

Elias Montoya

Hey Paul, you have all my support. And thanks for Including Egrid32 in The list
of "Great" things.  ;)

I just created (Using Firefly ;))also a huge database that works over the internet,
and i think i got lots of expertise in this matter. Having a Standard tool will be a
great aid!

I will be downloading your project and testing it in the morning, its almost 3am
and i just finished creating my Second Firefly application in the past 8 days!!! :)
I need to sleep.

:)
I wanted to put something spontaneous here,
But i didnt had time to think of something good.

tom cone jr

Paul,

The test package works fine here on a Win XP Sp2 box.

QuotePaul wrote:My longer term goal is to amass a collection of "business application" related tools because those are the types of applications that I normally build. Stuff like a great grid (EGrid for example), a great reporting toolkit (Like DDoc with more flexibility and PDF output), database (hopefully this SQLite client/server will suffice), etc...  I want FireFly 3 to be able to click a few buttons and a standard application template be created for the user that will have menus, toolbars, statusbar, database interface, etc... all ready in a default project.


This would be a dream come true for me!  Let us know what we can do to help.

-- tom