> The thing that bothered me when told about it was the single file part. > Isn't that more susceptible to corruption than the traditional multi- > file approach? > > Tom
Methinks you're letting MS Access color your assumptions about the realm of the possible. ;) Don't forget this bullet point: * Transactions are atomic, consistent, isolated, and durable (ACID) even after system crashes and power failures. SQLite is very well engineered. Also, you can attach to more than one database at a time in a single connection, so if you feel better partitioning your data in separate files, you can do that too. For instance, I have a config database, a common database (for data I want to control and make uniform across all instances), and 1..N "instance" databases in my application. I use the config database for user preferences and I can make that work however I want, not just the way MS thinks I should be able to configure a .NET app using app.config/machine.config schemes. I have yet to encounter any major corruption of a SQLite database. As a programmer you're responsible for more admin-like functions, like backup/restore and if you need it replication. But to me that's a plus, not a minus. I like the control and it makes the database work the way I want, without any bells and whistles I don't need. Again, my primary use of the tool is for .NET apps. But technologies like Adobe AIR support SQLite out-of-the-box, so the same use of it that I make for .NET apps -- local/disconnected databases -- works equally well with AIR applications. The model for most apps I write at the moment include a highly scalable RESTful web data service built top Erlang and its Mnesia DBMS on the back end, with SQLite providing the client-side caching/disconnected capability. If I ever do want to "go cross platform" with my .NET client, I can switch to AIR at some point, and everything else can stay the same about my architecture. The reason I stick with it for now is that a major piece of the app I'm building leverages integration with Lexis-Nexus HotDocs for document assembly and the only way to integrate with it is through its COM interface, which is an order of magnitude easier to do in .NET. HotDocs is strictly windows so until I have a cross platform alternative to HotDocs, I'll stick with the .NET front end. It's not like Windows isn't the operating system of 99% of all my target market's computers anyway. I have a separate project that doesn't need Windows COM integration with anything and I've been building that in Adobe AIR, and it's a private-use app that runs on Mac but could easily run on Windows or Linux too. Aside from the usual learning curve of any new framework, AIR's quite fun to work with as well. Though I must confess I really like .NET's new LINQ capability. I've written my own LINQ provider that's smart enough to get my data in connected vs. disconnected mode such that it's transparent to my application. That's killer. I can write a similar abstraction library in ActionScript I suppose but it's not as sexy or seamless. Bottom line: SQLite hasn't let me down in either project yet, despite their radically different end-user requirements. - Bob _______________________________________________ Post Messages to: [email protected] Subscription Maintenance: http://leafe.com/mailman/listinfo/profox OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/[EMAIL PROTECTED] ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.

