DataBase's

Started by Douglas McDonald, January 21, 2010, 09:30:14 PM

Previous topic - Next topic

Douglas McDonald

 I'm writing a Ham radio contact logging program. I started it before I had FF3, but it is in PB9. Nothing but the framework is done so I can still make major changes. At this point its using a MS access database and I'm interfacing into it using SqlTools From Perfect Sync.

What I'd like is some advice. I just discovered SQLite3 / SQLighting and may want to change to that. I don't need the client server part (yet) so I'd guess I need to use SQLite3. This is where I get confused. What includes,.dlls ect... do I need and what interfaces best with FF3. I did read that some how it can be added to FF3's lib manager but I don't know how far along that is.

If I understand it correctly, and I know very little about DB's, using SQLite I don't need a ODBC interface but talk to it directly unlike if I used an Access DB and SQLtools via the ODBC driver.

I doubt there would ever be a speed issue between the two with the small amount of records being collected so the main concern is what is the best approach in terms of code creation(ease of use) , growth and distribution (if it ever would become freeware)

I  do not use 3rd party tools if possible unless I feel they are solid and will be around for a long time. Hence FF3 and Perfect Sync tools. Will the .inc support for SQLite for PB be supported for many years? I'd think so but I don't know.

So I welcome all thoughts on the subject.

Thank you
Doug
KD5NWK
Doug McDonald
KD5NWK
www.redforksoftware.com
Is that 1's and 0's or 0's and 1's?

Paul Squires

Hi Doug,

I started writing an SQLite client/server version a couple of years ago. It worked pretty good and I released a couple of preliminary versions. Fred Meier contacted me saying that he had been working on something similar (but for a much longer period). He was simply going to release it to anyone who wanted it. I asked him to show it to me and when I saw it, it was clear that his code base was much farther along than mine. We decided to scrap my code and concentrate on promoting his code.

For a while, SQLitening was hosted on my previous PlanetSquires forums and it has seen steady progression ever since. A few months ago, Joe Byrne was kind enough to transfer the sqlitening.com domain name to me. I set up the whole sqlitening project over there.

Fred is still the primary maintainer of the project. The whole thing is public domain and the source code is included in the download so there will never be an issue of it not being able to be updated.

SQLitening is special because it can be used in both local and client/server mode. You can develop your application using local access and if you ever need to switch to multiuser client/server access then it is simply a matter of adding a call to connect to the server. Pretty easy.

Since SQLitening came along, I don't use any other database solution. It is SQL based so it is pretty standard. The database is extremely fast and the wrappers used to interface to PowerBASIC code are excellent.

SQlitening does not use ODBC.

The required files depends on whether you are running local or client/server. The following is taken from the help file:

Quote
SQLite3.Dll -The database engine from SQLite.  If running local then it must be accessible on the client computer.  If running remote then it must be accessible on the server computer.

SQLitening.Dll - Contains the routines called by your application program. It must be accessible on the client computer.

SQLiteningAuxRuts.Dll - Contains the compression and encryption routines called by SQLitening.Dll.  It muse be accessible on the client computer but only if your are compressing or encrypting.

SQLiteningClient.Dll - Contains the routines called by SQLitening.Dll to communicate with the server.  It must be accessible on the client computer but only if you are running in remote mode.  Not used in local mode.

SQLiteningS.Dll - Contains routines, called from any program that supports OLE string parameter passing but only ByRef (like Visual Basic).

SQLiteningServer.Cfg - The file used to configure the server.  See [Documentation of Sections and Entities] in file.

SQLiteningServer.Exe - The program that runs on the server as a service. SQLiteningServerAdmin.Exe  The program that runs on the server.  Is used to install, start, stop, and uninstall the service.

SQLiteningU.Dll  - Contains routines, that can be called by almost any program, to access a SQLite databases and flat files residing locally or remotely (using SQLitening Server). This can support any language that can call a standard Dll.

Zlib.Dll - Contains the compression routines called by SQLiteningAuxRuts.Dll, SQLiteningClient.Dll, and SQLiteningServer.Exe.  If running remote or doing compression in local mode then it must be accessible on the client computer.  If running remote then it must be accessible on the server computer.
Paul Squires
PlanetSquires Software

Douglas McDonald

Thank you Paul. I think SQLite will be perfect for what I'm doing
Doug McDonald
KD5NWK
www.redforksoftware.com
Is that 1's and 0's or 0's and 1's?