Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

F/OSS Flat-File Database?

kdawson posted more than 5 years ago | from the no-relation dept.

Databases 702

Leemeng writes "I'm looking for a simple, free, and F/OSS flat-file database program. I'm storing info about Wi-Fi access points that I come across, maybe 8-9 fields per entry. I've outgrown Notepad. This info is for my own reference only; it is not going on a Web server. Googling was unhelpful, with results skewed towards SQL, Access (MS), and Oracle, all of which would be overkill for my purposes. My criteria are: it must be simple, F/OSS, must work in Windows Vista, preferably use a portable format, must not be an online app, and must not require Java. Does such a beast exist?"

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered


Python? (5, Informative)

fyngyrz (762201) | more than 5 years ago | (#23484234)

Can't be Java... well, how about Python?

Here is [ideaspike.com] a completely free (PD, not GPL-style "you're free to do as we tell you") database engine that will do what you have described thus far.

The database engine is about 19k bytes (not a typo), has no dependencies (other than Python itself), supports a useful subset of SQL so you can actually create flexible queries that produce well-sorted results from your database, and it works everywhere Python does, which is to say, it works pretty much everywhere. It's just as happy operating on a command line as it is on a web server. The results (the actual databases) are 100% portable from OS to OS. I use it on various linuxes, OS X, and Windows for tasks very similar to yours.

Comes with tutorial examples, sample databases and extensive docs. In a 13k (not a typo) archive.


Re:Python? (0, Offtopic)

Anonymous Coward | more than 5 years ago | (#23484616)

"[sic]" is the standard expression if you wish to inform readers that something is "not a typo".

Re:Python? (1, Offtopic)

theripper (123078) | more than 5 years ago | (#23484698)

[sic] is used when you are quoting something to show that the typo is not yours.

Re:Python? (3, Informative)

fyngyrz (762201) | more than 5 years ago | (#23484776)

No, it isn't just that. It is used to show that what you are quoting is verbatim, for instance in cases where an assertion is unique, questionable, or worded unusually. This also works for obvious spelling errors, of course.

Re:Python? (5, Insightful)

maxume (22995) | more than 5 years ago | (#23484648)

Why not sqlite? Comes with Python 2.5 on Windows. It adds a relatively weighty 800k or so to my python installation on Windows, but the installation is dozens of megabytes overall, so it doesn't really matter.

Re:Python? (4, Informative)

fyngyrz (762201) | more than 5 years ago | (#23484894)

Why not sqlite?

  • SQLite isn't present or compiled in, in all Python installations, 2.5 or otherwise
  • At 800k, it's about 50x the size of class dbtxt (executable)
  • Source is huge compared to class dbtxt, so maintainance is not easy
  • SQLite is considerably more difficult to use (it's also more capable, though)

That's all I have for ya, offhand. ;-)

Re:Python comes with SQLite (4, Informative)

spookymonster (238226) | more than 5 years ago | (#23484662)

Just get Python, and use the version of SQLite that comes with it:

import sqlite3
mydb = sqlite3.connect('sample.db')
mydb.execute("create table contacts (fname text, lname text, email text)")

mydb.execute("insert into contacts values('Spooky','Monster','spook@spammity.spam')")


You can then use the free and open SQLite database browser [sourceforge.net] to browse, edit, and print your table.

You may think you're keeping it simple by using a flat file, but you're really not. It may be somewhat easier to manually edit, but it's also easier to screw up, and I've never heard of one with the ability to undo changes.

Re:Python? (5, Interesting)

goombah99 (560566) | more than 5 years ago | (#23484682)

You need YAML [wikipedia.org]

I think is exactly what you are requesting.

Re:Python? (4, Interesting)

goombah99 (560566) | more than 5 years ago | (#23484924)

YAML meets the flat file requirement and can be made to be the persistent DB behind Python, Perl, Ruby.

If it were not for the Flat File requirement then a simple Python shelve or Perl Tie would be the most logical solution since they are both part of the standard library so don't require installing libs on random computers you might use or port to.

of those two Perl Tie is probably the most suited because it's backed by a real DB operating off the disk not fully in memory.

But why not do both: use YAML as the DB backing the Perl Tie.
  then you get a nice human readable flat file.

Re:Python? (2, Interesting)

solferino (100959) | more than 5 years ago | (#23484778)

GPL-style "you're free to do as we tell you"
Care to tell me exactly what the user of GPL software is not free to do? Otherwise maybe you'd like to retract your casual FUD-spreading aside.

Re:Python? (0, Troll)

Anonymous Coward | more than 5 years ago | (#23484810)

> Care to tell me exactly what the user of GPL software is not free to do?

Use it in any project that isn't GPL'd. Because all other free software licenses are, after all, stealing.

Re:Python? (3, Insightful)

Anonymous Coward | more than 5 years ago | (#23484958)

Hooray, falsehoods!
You're more than welcome to use with any other software, you just can't distribute.

Re:Python? (-1, Flamebait)

Snocone (158524) | more than 5 years ago | (#23484904)

Care to tell me exactly what the user of GPL software is not free to do?


Because that requires being able to make money at what you're doing.

Re:Python? (5, Informative)

ehrichweiss (706417) | more than 5 years ago | (#23484928)

Well that assertion was a massive FAIL. I make quite a living thanks to the GPL and I know tons of others who do the same.

Re:Python? (5, Insightful)

fyngyrz (762201) | more than 5 years ago | (#23484956)

Care to tell me exactly what the user of GPL software is not free to do? Otherwise maybe you'd like to retract your casual FUD-spreading aside.

I can't legally utilize GPL'd source code within a commercial application without doing some very specific (and not always possible) things that the GPL license instructs me I must do. Any other ways I can help with your basic F/OSS education? I'll be here all day.

No Java? (5, Insightful)

jawtheshark (198669) | more than 5 years ago | (#23484254)

I would have recommended HSQL, but you don't want Java. Frankly, usually, when we're talking databases I won't say "use a spreadsheet", but with 10 fields, you might as well use a spreadsheet. Of course OpenOffice.org Base is out, because it uses HSQL.

Something like CSQL [sourceforge.net] might fit, but I have no experience with it.

Err ... (4, Informative)

Anonymous Coward | more than 5 years ago | (#23484264)

Comma Separated Variable Text Files, as exported and imported by Excel. You can get libraries to read and write these, and search these in most languages.

Otherwise what's wrong with a simple database like MySQL or PostgreSQL on your computer?

Re:Err ... (2, Informative)

djmurdoch (306849) | more than 5 years ago | (#23484576)

Comma Separated Variable Text Files, as exported and imported by Excel.
Don't use CSV with Excel, it will by default change values on import.

For example, if you ask it to read and write this:

May 20,5/20,1.000

you get this:


That might be okay if those were really two dates and a number, but I was never asked if they were. (OOO Calc is just as bad: it asks, and by default modifies the data).

Re:Err ... (1)

Icegryphon (715550) | more than 5 years ago | (#23484620)

Wow if that happens that is really friggen retarded and not to mention dangerous.

Re:Err ... (3, Informative)

pthisis (27352) | more than 5 years ago | (#23484718)

We have even worst problems; it'll turn



The latter being 703 minus 555 minus 5555.
when importing a CSV file. No joke. There are ways around it, but the default is pretty braindead.

OOO? (5, Informative)

iamhigh (1252742) | more than 5 years ago | (#23484272)

it must be simple, F/OSS, must work in Windows Vista, preferably use a portable format, must not be an online app, and must not require Java. Does such a beast exist
Maybe this will do? [openoffice.org] I think it meets all your needs. You can even use it with a web app if desired. Some functionality may need Java, but most doesn't. I don't know what parts of OOO are Java-driven, but I am sure somebody here does!

Re:OOO? Calc and Base (2, Informative)

edisrafeht (1199347) | more than 5 years ago | (#23484416)

In addition to Calc, there is also Base, the alternative to MS Access. Check it out here: http://www.openoffice.org/product/base.html [openoffice.org] It's gotta be way easier to work in OpenOffice than a whole database system (making up accounts, tables, reports, and all).

Re:OOO? Calc and Base (2, Informative)

KenSeymour (81018) | more than 5 years ago | (#23484632)

Have you used OO Base?

I was using it about a year ago and I found it buggy and hard to use. I was using it to access

I like the other parts of OpenOffice that I use, Write, Calc, Draw.
Of course, I have not had time to look at it since then.

Uses Java (1)

pavon (30274) | more than 5 years ago | (#23484740)

I was about to recommend that and then realized that the the database engine that OO Base uses (HDBC), as well as the interface with other databases (JDBC) both require Java.

Re:OOO? (4, Insightful)

ADRA (37398) | more than 5 years ago | (#23484694)

OpenOffice uses Java for its database tool. I'm fine with it, and its probably the best choice for anyone actually wanting something simple / usefull / free, but obviously the OP is a trolling wanker, so it has to be san-Java.

sqlite (5, Informative)

nguy (1207026) | more than 5 years ago | (#23484276)

Sqlite is used in many apps (including Firefox), it's small, and it's efficient. It also has bindings to just about every imaginable language.

I find it amazing that you didn't come across it in Googling...

Re:sqlite (3, Insightful)

MBGMorden (803437) | more than 5 years ago | (#23484592)

Was going to suggest this myself but looks like you and many others beat me to it. Yes SQLite is "SQL", but I can't think of an actual program where I'd consider it's use overkill. It's made precisely for small little projects that don't want or need to use something like MySQL or PostgreSQL.

Re:sqlite (1)

v(*_*)vvvv (233078) | more than 5 years ago | (#23484710)

SQLite also has a great database client available as an add-on for FireFox and/or Thunderbird. So if you want a GUI for your db, there is your cross-platform, GPL (or better) client program.

SQLite (4, Informative)

kcbanner (929309) | more than 5 years ago | (#23484280)

Get it http://www.sqlite.org/ [sqlite.org] here.
There are GUI clients that work fine for this sort of thing, SQL is simple for doing basic things. One file, one database.

Re:SQLite (3, Informative)

Quartz25 (1195075) | more than 5 years ago | (#23484434)

Python 2.5 comes with SQLite3, so you don't even have to install it separately.

Re:SQLite (1)

fyngyrz (762201) | more than 5 years ago | (#23484716)

Python 2.5 comes with SQLite3, so you don't even have to install it separately.

Actually, you can't count on that. Google it [google.com] for details.

Re:SQLite (1)

roscivs (923777) | more than 5 years ago | (#23484630)

Another vote for SQLite. One file, one database. Fast. Supports SQL. You don't have to use types if you don't want to. (Just "create table (foo, bar, sys)" works fine.) And it seems to be gaining in popularity--it's even part of the iPhone SDK.

Re:SQLite (0)

Anonymous Coward | more than 5 years ago | (#23484638)

There's a nice sqlite gui addon for firefox at https://addons.mozilla.org/en-US/firefox/addon/5817

FOSS in VISTA without JAVA?? (1)

Foofoobar (318279) | more than 5 years ago | (#23484282)

Are you sure you are looking for FOSS?? I think you would have a far easier time finding what you are looking for if you gave up on either the VISTA requirement or the FOSS requirement in this situation.

Re:FOSS in VISTA without JAVA?? (1)

tepples (727027) | more than 5 years ago | (#23484320)

Are you thinking of a specific product that runs in Windows XP but fails in Windows Vista?

SQLite (1)

teeheehee (12647) | more than 5 years ago | (#23484332)

First thing that came to my mind was SQLite [sqlite.org]. It's used by FireFox. I have a couple of projects lined up I plan on using it for, when I get the time....

how about... (4, Insightful)

ramirez (51663) | more than 5 years ago | (#23484366)

a comma delimited file?

Umm... just write a few one-liner perl scripts to get info out.

Re:how about... (0)

Anonymous Coward | more than 5 years ago | (#23484420)

a comma delimited file?

Umm... just write a few one-liner perl scripts to get info out.
Finally someone's talking some sense.
Sounds like this guy just wants a spreadsheet...

SQLite (0)

Anonymous Coward | more than 5 years ago | (#23484374)

Have you considered using SQLite [sqlite.org] at all? It's open-source, lightweight and works with Vista.

Ta da (2, Funny)

Anonymous Coward | more than 5 years ago | (#23484384)

findstr, the windows equivalent of grep.

sqlite of course (2, Informative)

cats-paw (34890) | more than 5 years ago | (#23484386)

I think this would be perfect, I found it when I was looking for a DB which met similar criteria. I don't care about windows, but it does work under windows AFAIK.

  http://www.sqlite.org/ [sqlite.org]

Use it all the time for everthing from trivial databases to several 10s of megabytes. Since query's can be entered on the command line it's quite simple to write an ascii results grabber.

Re:sqlite of course (1)

Hadlock (143607) | more than 5 years ago | (#23484624)

Queries. Querie's would be like saying "Query the Cat's Paw has claws". Do you have spell check turned off in Firefox or something? Typically I'm not a huge grammar Nazi but you're using the plural form of Cat's (Cats) instead of possessive in your user name, too (probably due to user name punctuation restriction).

Re:sqlite of course (1)

Jugalator (259273) | more than 5 years ago | (#23484940)

It doesn't just work on Windows, there's even a wrapper available for it for ADO.NET support if you prefer C#, VB.NET, or any other .NET language: http://sqlite.phxsoftware.com/ [phxsoftware.com]

I'm using it that way for a .NET client on Windows, and synchronizing it with a PDA that instead uses SQLite via C++. Works great. :)

Microsoft Sourceforge? Assraped by silverblight? (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#23484388)

Microsoft is SourceForge Awards Only Sponsor, Uses it to Spread FUD
http://boycottnovell.com/2008/05/19/microsoft-pockets-sf-net/ [boycottnovell.com]

In my opinion, the only way well ever see Microsoft come clean is if the DOJ ever gets some real balls and decides to go after it with a real punishment for its monopoly, which continues today on desktops, and seeking to start on the web again with Silverblight (Silverlight), just google for LOC and the deal with Microsoft which happened within the past few months. IMO its the same as Microsoft Windows in libraries and classrooms, once you get the people hooked with something they feel that they need, in this case more Microsoft shitware, people perpetuate the lock-in cycle. Look at how you feel you *need* DirectX? This is another artificially created need by Microsoft.

It should be argued, at least for PC gaming, they have a monopoly on the desktop with gaming, as most people need to use DirectX properly in order for the games to work. Sure Wine, Cedega, and other projects are making some progress and some games may work, and believe me I try every few weeks to see how it is coming along, but again Microsoft still continues its dirty deeds. They lie about Linux and Windows interoperability, They said it couldnt be done! Novell agreement bullshit just like the Corel agreement in 2000 or 2001, where Corel Linux was promptly spun off and money/support from Corel to Wine apparantly dried up. Time and time again they come in and either buy out or pollute the environment with thier proprietary crap, and we read another dismal Microsoft article after article every few weeks or more.

If Microsoft is so devoted to bringing Linux and Windows together, I dont see anything on their vast labrynth of shit at Microsoft.com indicating this. Where is the repository of interoperability Linux and Windows software on Microsoft.com? Oh, but you can still get their bullshit Facts on Windows and Linux, and thats about it. At least Google has a repository you can add to your Linux install for software from them. In my opinion, dont think Moonlight (Ever danced with the devil in the pale moonlight? I ask that of all my friends) will last much longer or work well for Linux users should Silverblight (Silverlight) suddenly become popular through payoffs and slight of hand corporate tricks.

If you ever want to have Microsoft come clean, no, I dont believe it would ever happen unless the DOJ finally came down hard and raided their offices, took their hardware and software and forced them to release the code and all of the various undiscovered backdoors waiting to be found, it just wont happen. IMO, Microsoft has demonstrated time and time again it will fight tooth and nail against any punishment against them.

Remember: : Microsoft Office raid in Hungary [abcmoney.co.uk]
You like that, monkey boy? : http://boycottnovell.com/2008/05/19/steve-ballmer-eggs/ [boycottnovell.com] [boycottnovell.com]

We will all be cleansed if true justice were ever to prevail, but in the United States of Advertising, most of the people in power are paid off, with big pharma and other corporate overlords always padding the handshakes and votes. It is a lost cause, you know it, I know it, but youll still piss away your vote to one of the two parties who bend over for big pharma to slide in the money and the overpriced medications pop out the other end as we all struggle under the yoke of this dismal fucking world.

Come clean? Microsoft? The whole system is mired in filth.

Good luck.

We now return you to your normal life, ostrich head in the sand, millions of tokers/beer drinkers who raise their fist while watching Fight Club and return to their soap opera pitiful lives of slavery as the credits roll.

Vote for Wesley Snipes for President in 2008, neither one of the big parties will get anything done, they are a part of the problem.

heh (4, Funny)

B3ryllium (571199) | more than 5 years ago | (#23484390)

Since the majority of the comments so far have pointed at SQLite, I'm kind of surprised that the post didn't come "from the sqlite dept." :)

Flat file is useless (5, Insightful)

bluefoxlucid (723572) | more than 5 years ago | (#23484400)

Trying to solve such an issue as a flat file is a poor design characteristic. This says "I don't want to learn SQL" or "I want the output human readable." If you just want to store information for programmatic use, use SQLite and quit worrying about data storage format. If you want it human readable, grab libxml2 (works on Windows too) and store it as XML. Decide which problem you are solving because if you don't need (i.e. it's not helpful) it human-readable and/or want the ability to search it quickly without loading the whole thing into memory, then SQLite is probably a better solution.

The smart people will all say SQLite (0)

Anonymous Coward | more than 5 years ago | (#23484402)

... did you consider storing your data in an XML file? SQLite is probably the best choice, but there's something to be said about a human readable format. It's easy to create, parse, edit, etc.

Wordpad (0)

Anonymous Coward | more than 5 years ago | (#23484422)

Doesn't windows come with wordpad anymore?

SQLIte or BDB (3, Informative)

willyhill (965620) | more than 5 years ago | (#23484424)

I'd recommend SQLite or Berkley DB. I've used BDB on a couple of projects where I needed to basically store an enormous hashtable that could be read quickly by key, and I don't think anything else comes close to the speed of that thing.

BDB is *not* a relational database though, it's just a storage/indexing engine, which is used most notably by MySQL as a backend. SQLite on the other hand is a full file-based RDBMS with a small runtime, so it might be a bit of overkill for you in this particular scenario.

But both of them run on Windows, Linux and the BSDs, so you won't have portability problems. And most languages have bindings for them.

Uhh (2, Interesting)

Auckerman (223266) | more than 5 years ago | (#23484428)

The only thing that comes to mind is Mac only. Bento [filemaker.com] (which from the write up is exactly what you want). I really think the only thing on Windows that really comes close is Microsoft Access and even that isn't what you're looking for.

If you are just doing tabulated data in a piece meal form, Excel with an Access back-end will do the trick, I'd be willing to be you're going to be able to find templates that help you start. You could also use File-maker (which is overkill, but easy to use) and go to the user community for starting templates.

A CSV File? (2, Interesting)

shades66 (571498) | more than 5 years ago | (#23484436)

Can be used by all spreadsheet programs (Excel,Gnumeric,OOCalc probably even Google's online offerings) for complete portability

Depends what you want to be able to do with your data? If it's just quick searches to find local wifi points then it seems overkill to use a multi-platform/FOSS database

Re:A CSV File? (1)

g253 (855070) | more than 5 years ago | (#23484636)

Exactly. When I read the summary I thought the same thing. If you don't have a lot of data and only want to do a few simple operations on it, any spreadsheet will do just fine, even a very old or very basic one. In fact, though it's not open source, this 27 years old, 27 kb software should suffice : http://www.bricklin.com/history/vcexecutable.htm [bricklin.com] ;)

But yeah, as everyone else said, SQLite is probably what you're looking for.

You're running Vista and "demand" a F/OSS solution (0)

Anonymous Coward | more than 5 years ago | (#23484438)

Dude, just use Excel, or Calc from OOo.

Jesus, these ask /. posts are getting quite stupid, this is starting to resemble a newbie forum.

As someone else suggested, Python. For that matter, Perl, or any other language that can read from a text file. VBscript would work, hell you could even create something using BATCH, it would be slow as hell as it grew, but you could do it.

Oh wait you're on Vista, you've got PowerShell, you could probably put something together there too.

Having been using Notepad... (1)

barfy (256323) | more than 5 years ago | (#23484440)

Something that maybe just up the ladder, and quite useful for all kinds of Database work, would be the spreadsheet in Open Office.

People all over use spreadsheets for simple list based database stuff.

It is often easier to use the tools that are built in to do what you want.

You can start just by entering the data, then you can increase functionality with custom data entry dialogs, charting functionality etc.

All not online, all f/oss.

SQLite as well (1)

Zen-Mind (699854) | more than 5 years ago | (#23484448)

Over time I used SQLite for various purposes:
  • Small persistence layer in school project (Java).
  • In custom Ant tasks to store metrics and various information.
  • Even used it to replace the storage of an MS Access based application in C++ we were trying to port to other OS.
So SQLite is quick, portable, self-contained and ... lite :P

GDBM (4, Informative)

jschmerge (228731) | more than 5 years ago | (#23484450)

If you're doing simple Key,Record storing, try GDBM (or one of its analogs: DBM, NDBM). IIRC, it's included as part of glibc. The interface for it is analogous to that of a hash table... In fact there's even native Perl support for tying hash tables to GDBM.

If that doesn't satisfy your need, take a look at Berkley DB. It offers a more sophisticated interface than DBM.

VIM seems to fit the description (0)

Anonymous Coward | more than 5 years ago | (#23484454)

With the standard *nix tools (grep, awk, sort), seems like this is all you need.

Wikis on a Stick (1)

cecil_turtle (820519) | more than 5 years ago | (#23484476)

I think a wiki sounds like what you need instead of a "database", if you're using it for personal reference and not hooking it to a web server or any kind of client application, you don't really need a database.

For a wiki "engine" that will run locally on a PC try googling for "wiki on a stick". I'd recommend DokuWiki on a Stick [splitbrain.org], as DokuWiki uses flat files for storage. You can keep it locally on a PC, or as you may have guessed you can run it from a USB thumb drive on any computer. There are other wikis that run in this fashion as well, some cross platform.

Re:Wikis on a Stick (2, Interesting)

afabbro (33948) | more than 5 years ago | (#23484860)

Even better, look at Tiddly Wiki [tiddlywiki.com]. No engine required - the entire wiki is run in javascript. Just one .html file to carry around with you.

How about a spreadsheet? (2, Informative)

diamondsw (685967) | more than 5 years ago | (#23484520)

For a small number of fields like that, why re-invent the wheel? Grab OpenOffice and just create a spreadsheet. Easily searchable, sortable, extendable, and all with zero maintenance on your part.

I recently moved my collection of serial numbers out of a defunct proprietary program and into a spreadsheet - couldn't be happier.

Re:How about a spreadsheet? (1)

cyberneurology (1292930) | more than 5 years ago | (#23484604)

Agreed. A database of any sort seems overkill until multiple tables/objects (depending on your favorite database paradigm) are involved. OpenOffice's oocalc seems to me to be the best solution.

XML duh (0)

Anonymous Coward | more than 5 years ago | (#23484522)

Try googling for longer than 10 seconds to find what you're looking for.

And why is this on slashdot?

CSV Baby (0)

Anonymous Coward | more than 5 years ago | (#23484536)

Theres lots of CSV engines out there you can use. For example, Visual Basic has a SQL engine that can talk csv. That way you can just do regular SQL queries to read and write CSV files. It's super slick. I used it to write an outlook synchronization engine.

Tomboy! (1)

SonicRED (15265) | more than 5 years ago | (#23484584)

You're looking for Tomboy [gnome.org].

It's like a personal, offline Wiki and you could easily have links to all of your wifi-related notes.

Re:Tomboy! (1)

SonicRED (15265) | more than 5 years ago | (#23484606)

Oh shame. I just read the part that says you are using Vista. Maybe they have a Sidebar plugin that is similar? You can't care about F/OSS that much if you're running Vista...

SQLite (0, Redundant)

C_Kode (102755) | more than 5 years ago | (#23484640)

SQLite is small, simple, minimal requirements and has a hell of a lot more functionality than a flat file

Berkeley DB (-1, Redundant)

Anonymous Coward | more than 5 years ago | (#23484652)

Have you thought about Berkeley DB or GDB?

SQLite3 (0)

Anonymous Coward | more than 5 years ago | (#23484688)

Really, SQLite3 is excellent.

If you need a front-end, try Shoes, by Why the Lucky Stiff. If that doesn't fix it in twenty minutes, stick with Notepad.

For your reference only (4, Insightful)

holophrastic (221104) | more than 5 years ago | (#23484720)

If it's just for your reference, you don't need a database at all. Databases don't become technically worth-while until you get to indexing. And until you have fifty-thousand records, or complex queries, you don't need indexing.

So why not simply write out a tab-delimited file? Retrieval is as simple as reading every line, splitting by the delimeter, and regexp'ing whichever field you're examining. 15'000 records takes about two seconds on a modern machine. Of course, for anything more complicated, that same file gets easily imported into your favourite spreadsheet application.

You don't need to worry about locking because you're the only one using it. And otherwise, your application simply locks the file handle, or creates & destroys a traditional lock-file.

It's a thirty-line perl script (of legible perl). You can do it in JScript as a local HTA if you want the benefit of html etc. interfaces.

Powershell and tools... (1)

rusty0101 (565565) | more than 5 years ago | (#23484728)

I've only had a passing encounter with powershell, but if command line searches are all you need for searching, and something like 'echo $newrecord >> flatfile.txt' will work for adding records, then you probably have everything you need already on the computer. If you need searches to return 'ranes' of records, for example 'all APs within 200 yards with public access' you probably will need something more complex, and a db platform like sqlite is probably what you want to start looking at.

KISS principle (1)

JFilz (582392) | more than 5 years ago | (#23484760)

Keep It Simple Silly Principle- Something that every programing language can use and is very open source:

CSV - Comma Separated Values.
"This is one text entry follows by date, integer and float",20080520,2,3.222

Compatible with nearly everything out there. Crunch number in a spreadsheet if you need - or with any number of SQL compatible programs.

How about /rdb? (0)

Anonymous Coward | more than 5 years ago | (#23484812)


Forgive me if this is a little obvious (1)

Edd (24120) | more than 5 years ago | (#23484832)

If you have only just outgrown notepad, why not use XML? There are some nice tools to create and query the files, it is cross platform, tools are available for every language, and you can import it straight into a real database when you feel you need to upgrade.

How many records are we talking about anyway?

Consider an xml-based db (2, Informative)

Doofus (43075) | more than 5 years ago | (#23484850)

There are a number of XML databases, several free and open source, that will rely only on "flat-files". You could probably get by with Microsoft's xml libraries, though there are a number of ways to manipulate and query a set of xml documents. Several of these XML databases implement XQuery which may help if your dataset grows beyond effective queries by visual inspection in Notepad.

eXist [sourceforge.net] is one alternative; while I haven't personally used it the home page indicates it's a fairly capable project.

Sedna [ispras.ru] also appears to be feature-rich.

There was a similar discussion on Slashdot specifically with reference to XML databases, here [slashdot.org].

Happy hunting -

KeePass (1)

GraffitiKnight (724507) | more than 5 years ago | (#23484852)

KeePass [keepass.info] might work well for this, and has the added benefit of encryption. I use it to store a lot of networking-related information at work, and with its search capabilities it has been quite useful.

CSV (1)

gh5046 (217974) | more than 5 years ago | (#23484914)

If you don't need something to run sql-type queries against, just use Calc (openoffice.org) or Excel and save the data in a comma or tab delimited file.

openoffice spreadsheets (0)

Anonymous Coward | more than 5 years ago | (#23484930)

How about just using openoffice spreadsheets?

Has been already sid: Python + SQLite (1)

pembo13 (770295) | more than 5 years ago | (#23484944)

Will get the job very quickly, I can say that from experience. If you must have it it human readable, Python + XML.

Metakit (0)

Anonymous Coward | more than 5 years ago | (#23484960)

In addition to SQLite, there's also Metakit [equi4.com], which you might want to check out. There's a Windows build available.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account