473,606 Members | 2,409 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Easily distributable database

JB
I'm writing a data driven app, its all just about finished but i
havent decided how to store the data.

I'm looking at some form of database. Requirements:
Easy to Distribute, hopefully just some hard disk files.
Relatively quick to query.
I think in this case, speed is secondary to ease of use for the end
user. Although speed is always important, which is why i wont be using
xml :)

Data *shouldnt* get any bigger than 1GB (it shouldnt get more than a
few hundred meg but i'd like room for expansion).

My choices:
1) Access: Easy to use, distributes as stand alone files.
But then i'd have to go out and buy a copy of office :(
2) SQLite, never used it, oonly just heard of it today, starting to
read up about it now, seems like it will work similarly to access
(from the outside at least), dont know how the speed is though.
3) SQL Server Express: "Free to download, free to redistribute, free
to embed" according to microsoft.
It seems like a really good option, a free SQLServer seems like it
would be incredibly flexible and fast. But I am concerned about how
easy it would be to distribute with a prog? Will any potential users
have to download the sql server express app? or a couple of run-time
files? or nothing?
4) Fill in the blanks. Any other suggestions?

Opinions welcomed and appreciated.

Jul 23 '07 #1
11 4272
JB,

Personally, I would go with SQL Server Express. You would have to run
the install program for it (I believe there is an MSI that you can
distribute with your app), which, given the benefits outweigh the install
issue.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard. caspershouse.co m

"JB" <ja*******@gmai l.comwrote in message
news:11******** **************@ 22g2000hsm.goog legroups.com...
I'm writing a data driven app, its all just about finished but i
havent decided how to store the data.

I'm looking at some form of database. Requirements:
Easy to Distribute, hopefully just some hard disk files.
Relatively quick to query.
I think in this case, speed is secondary to ease of use for the end
user. Although speed is always important, which is why i wont be using
xml :)

Data *shouldnt* get any bigger than 1GB (it shouldnt get more than a
few hundred meg but i'd like room for expansion).

My choices:
1) Access: Easy to use, distributes as stand alone files.
But then i'd have to go out and buy a copy of office :(
2) SQLite, never used it, oonly just heard of it today, starting to
read up about it now, seems like it will work similarly to access
(from the outside at least), dont know how the speed is though.
3) SQL Server Express: "Free to download, free to redistribute, free
to embed" according to microsoft.
It seems like a really good option, a free SQLServer seems like it
would be incredibly flexible and fast. But I am concerned about how
easy it would be to distribute with a prog? Will any potential users
have to download the sql server express app? or a couple of run-time
files? or nothing?
4) Fill in the blanks. Any other suggestions?

Opinions welcomed and appreciated.

Jul 23 '07 #2
On Mon, 23 Jul 2007 13:10:08 -0700, JB <ja*******@gmai l.comwrote:
>I'm writing a data driven app, its all just about finished but i
havent decided how to store the data.

I'm looking at some form of database. Requirements:
Easy to Distribute, hopefully just some hard disk files.
Relatively quick to query.
I think in this case, speed is secondary to ease of use for the end
user. Although speed is always important, which is why i wont be using
xml :)

Data *shouldnt* get any bigger than 1GB (it shouldnt get more than a
few hundred meg but i'd like room for expansion).

My choices:
1) Access: Easy to use, distributes as stand alone files.
But then i'd have to go out and buy a copy of office :(
2) SQLite, never used it, oonly just heard of it today, starting to
read up about it now, seems like it will work similarly to access
(from the outside at least), dont know how the speed is though.
3) SQL Server Express: "Free to download, free to redistribute, free
to embed" according to microsoft.
It seems like a really good option, a free SQLServer seems like it
would be incredibly flexible and fast. But I am concerned about how
easy it would be to distribute with a prog? Will any potential users
have to download the sql server express app? or a couple of run-time
files? or nothing?
4) Fill in the blanks. Any other suggestions?

Opinions welcomed and appreciated.
Hi

SQL Server would be the best choice IMHO. It sounds perfect for your
requirments and with the advanced version (also free) you can have
full text searching and other SQL Sqerver features. Databases can be
up to 4gb in size.

It can be deployed using ClickOnce technology so you should have no
problems distributing it with your app. You might want to read this

http://msdn2.microsoft.com/en-us/library/Bb264562.aspx

HTH

Cheers
Steve

Jul 23 '07 #3
JB
Cheers,
SQL Express does look pretty amazing, but i have still have some
issues.
How big would the installer be? SQL Server express off the MS website
is around 40MB, would the full thing be required for an end user?
My app at the moment compiles to around 3MB, it may go up or down when
its finished.
I'd hate to have a <5mb program with a 40mb sql server install.
Where instead i could just include a 500kb blank access .mdb file.

If the installer were only a meg or two then it would be the ideal
solution.

On 23 Jul, 21:19, "Nicholas Paldino [.NET/C# MVP]"
<m...@spam.guar d.caspershouse. comwrote:
JB,

Personally, I would go with SQL Server Express. You would have to run
the install program for it (I believe there is an MSI that you can
distribute with your app), which, given the benefits outweigh the install
issue.

--
- Nicholas Paldino [.NET/C# MVP]
- m...@spam.guard .caspershouse.c om

"JB" <jamesb...@gmai l.comwrote in message

news:11******** **************@ 22g2000hsm.goog legroups.com...
I'm writing a data driven app, its all just about finished but i
havent decided how to store the data.
I'm looking at some form of database. Requirements:
Easy to Distribute, hopefully just some hard disk files.
Relatively quick to query.
I think in this case, speed is secondary to ease of use for the end
user. Although speed is always important, which is why i wont be using
xml :)
Data *shouldnt* get any bigger than 1GB (it shouldnt get more than a
few hundred meg but i'd like room for expansion).
My choices:
1) Access: Easy to use, distributes as stand alone files.
But then i'd have to go out and buy a copy of office :(
2) SQLite, never used it, oonly just heard of it today, starting to
read up about it now, seems like it will work similarly to access
(from the outside at least), dont know how the speed is though.
3) SQL Server Express: "Free to download, free to redistribute, free
to embed" according to microsoft.
It seems like a really good option, a free SQLServer seems like it
would be incredibly flexible and fast. But I am concerned about how
easy it would be to distribute with a prog? Will any potential users
have to download the sql server express app? or a couple of run-time
files? or nothing?
4) Fill in the blanks. Any other suggestions?
Opinions welcomed and appreciated.

Jul 23 '07 #4
Well, that's a decision you have to make. In this case, it is ease of
install vs. the performance profile and usability of the back end data
source.

And yes, you would have to include that install for SQL server express.

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard. caspershouse.co m

"JB" <ja*******@gmai l.comwrote in message
news:11******** *************@d 55g2000hsg.goog legroups.com...
Cheers,
SQL Express does look pretty amazing, but i have still have some
issues.
How big would the installer be? SQL Server express off the MS website
is around 40MB, would the full thing be required for an end user?
My app at the moment compiles to around 3MB, it may go up or down when
its finished.
I'd hate to have a <5mb program with a 40mb sql server install.
Where instead i could just include a 500kb blank access .mdb file.

If the installer were only a meg or two then it would be the ideal
solution.

On 23 Jul, 21:19, "Nicholas Paldino [.NET/C# MVP]"
<m...@spam.guar d.caspershouse. comwrote:
>JB,

Personally, I would go with SQL Server Express. You would have to
run
the install program for it (I believe there is an MSI that you can
distribute with your app), which, given the benefits outweigh the install
issue.

--
- Nicholas Paldino [.NET/C# MVP]
- m...@spam.guard .caspershouse.c om

"JB" <jamesb...@gmai l.comwrote in message

news:11******* *************** @22g2000hsm.goo glegroups.com.. .
I'm writing a data driven app, its all just about finished but i
havent decided how to store the data.
I'm looking at some form of database. Requirements:
Easy to Distribute, hopefully just some hard disk files.
Relatively quick to query.
I think in this case, speed is secondary to ease of use for the end
user. Although speed is always important, which is why i wont be using
xml :)
Data *shouldnt* get any bigger than 1GB (it shouldnt get more than a
few hundred meg but i'd like room for expansion).
My choices:
1) Access: Easy to use, distributes as stand alone files.
But then i'd have to go out and buy a copy of office :(
2) SQLite, never used it, oonly just heard of it today, starting to
read up about it now, seems like it will work similarly to access
(from the outside at least), dont know how the speed is though.
3) SQL Server Express: "Free to download, free to redistribute, free
to embed" according to microsoft.
It seems like a really good option, a free SQLServer seems like it
would be incredibly flexible and fast. But I am concerned about how
easy it would be to distribute with a prog? Will any potential users
have to download the sql server express app? or a couple of run-time
files? or nothing?
4) Fill in the blanks. Any other suggestions?
Opinions welcomed and appreciated.


Jul 23 '07 #5
I have nothing against SQLExpress, but unless you have to use stored procs,
SQLite runs rings around the others. All you distribute is the ADO.NETSqlite
assembly and your database file and you are DONE. Nothing to install. And -
its fast as all hell.
-- Peter
Recursion: see Recursion
site: http://www.eggheadcafe.com
unBlog: http://petesbloggerama.blogspot.com
bogMetaFinder: http://www.blogmetafinder.com

"JB" wrote:
I'm writing a data driven app, its all just about finished but i
havent decided how to store the data.

I'm looking at some form of database. Requirements:
Easy to Distribute, hopefully just some hard disk files.
Relatively quick to query.
I think in this case, speed is secondary to ease of use for the end
user. Although speed is always important, which is why i wont be using
xml :)

Data *shouldnt* get any bigger than 1GB (it shouldnt get more than a
few hundred meg but i'd like room for expansion).

My choices:
1) Access: Easy to use, distributes as stand alone files.
But then i'd have to go out and buy a copy of office :(
2) SQLite, never used it, oonly just heard of it today, starting to
read up about it now, seems like it will work similarly to access
(from the outside at least), dont know how the speed is though.
3) SQL Server Express: "Free to download, free to redistribute, free
to embed" according to microsoft.
It seems like a really good option, a free SQLServer seems like it
would be incredibly flexible and fast. But I am concerned about how
easy it would be to distribute with a prog? Will any potential users
have to download the sql server express app? or a couple of run-time
files? or nothing?
4) Fill in the blanks. Any other suggestions?

Opinions welcomed and appreciated.

Jul 23 '07 #6
* JB wrote, On 23-7-2007 22:10:
I'm writing a data driven app, its all just about finished but i
havent decided how to store the data.

I'm looking at some form of database. Requirements:
Easy to Distribute, hopefully just some hard disk files.
Relatively quick to query.
I think in this case, speed is secondary to ease of use for the end
user. Although speed is always important, which is why i wont be using
xml :)

Data *shouldnt* get any bigger than 1GB (it shouldnt get more than a
few hundred meg but i'd like room for expansion).

My choices:
1) Access: Easy to use, distributes as stand alone files.
But then i'd have to go out and buy a copy of office :(
2) SQLite, never used it, oonly just heard of it today, starting to
read up about it now, seems like it will work similarly to access
(from the outside at least), dont know how the speed is though.
3) SQL Server Express: "Free to download, free to redistribute, free
to embed" according to microsoft.
It seems like a really good option, a free SQLServer seems like it
would be incredibly flexible and fast. But I am concerned about how
easy it would be to distribute with a prog? Will any potential users
have to download the sql server express app? or a couple of run-time
files? or nothing?
4) Fill in the blanks. Any other suggestions?

Opinions welcomed and appreciated.

5) SqlServer Compact Edition. It's basically the SQL Server version that
used to be only for the Windows Mobile & Windows CE platform. it can
now be used on any windows platform. it consists of just 3 dll's and a
data file that need to be packages with your application. No 10s of
megabyte large setup files, no system services no nothing. It's
performance is very good and it supports most of the functionality of
for example Access. It comes with a special ADO.NET provider which looks
almost like the standard System.Data.Sql Server you're already used to.

There's a few gotcha's:
- No Stored Procedures
- No Triggers

Other than that, you're all set.

http://www.microsoft.com/sql/edition...t/default.mspx

Jesse
Jul 23 '07 #7
"JB" <ja*******@gmai l.comwrote in message
news:11******** **************@ 22g2000hsm.goog legroups.com...
1) Access: Easy to use, distributes as stand alone files.
Firstly, there is actually no such thing as an Access database. Microsoft
Access is not a database - it's a software product for developing database
solutions. Until the most recent version Microsoft Access used the Jet
database (.mdb) database format, the same database format that several other
Microsoft products used e.g. Visual Basic, Visual C++ etc...

Secondly, you do *not* need a copy of Microsoft Office (or even Microsoft
Access) to use Jet databases...

However, the Jet database file format is to all intents and purposes
obsolete now, so you'd do well to avoid it...
4) Fill in the blanks. Any other suggestions?
As others have suggested, SQL Server Compact Edition would seem to be your
ideal choice...
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Jul 23 '07 #8
RE:
<< However, the Jet database file format is to all intents and purposes
obsolete now >>

Can you expand on that a bit? Is MS no longer developing the Jet database
file format? What are current or near-term future versions of MS Access
using if not the Jet database?

Thanks

"Mark Rae [MVP]" <ma**@markNOSPA Mrae.netwrote in message
news:%2******** ********@TK2MSF TNGP05.phx.gbl. ..
"JB" <ja*******@gmai l.comwrote in message
news:11******** **************@ 22g2000hsm.goog legroups.com...
>1) Access: Easy to use, distributes as stand alone files.

Firstly, there is actually no such thing as an Access database. Microsoft
Access is not a database - it's a software product for developing database
solutions. Until the most recent version Microsoft Access used the Jet
database (.mdb) database format, the same database format that several
other Microsoft products used e.g. Visual Basic, Visual C++ etc...

Secondly, you do *not* need a copy of Microsoft Office (or even Microsoft
Access) to use Jet databases...

However, the Jet database file format is to all intents and purposes
obsolete now, so you'd do well to avoid it...
>4) Fill in the blanks. Any other suggestions?

As others have suggested, SQL Server Compact Edition would seem to be your
ideal choice...
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Jul 24 '07 #9
"Bob Johnson" <A@B.comwrote in message
news:OI******** ******@TK2MSFTN GP04.phx.gbl...
>However, the Jet database file format is to all intents and purposes
obsolete now

Can you expand on that a bit?
http://msdn2.microsoft.com/en-us/library/ms810810.aspx - scroll down to
"Deprecated MDAC components"
Is MS no longer developing the Jet database file format?
That's correct. No further development of the Jet database file format is
planned.
http://technet2.microsoft.com/Office....mspx?mfr=true

Also, there is no 64-bit version of the Jet engine. That means that it's not
possible to develop 64-bit apps which use Jet. Some people recommend using a
32-bit subproject for this, but my feeling on that is that if you're having
to use a 32-bit database for what is probably the most important part of
your app, you may as well write the whole thing in 32-bit anyway, or find
another database solution...
What are current or near-term future versions of MS Access using if not
the Jet database?
Access 2007 does not use Jet natively at all, though it can work with Jet
databases for backwards compatibility. Instead, it uses a completely new
database file format (.accdb) which, though based on Jet, most certainly
isn't Jet.
http://office.microsoft.com/en-us/ac...678311033.aspx
http://blogs.msdn.com/access/archive...05/618366.aspx

AAMOI, Jet was originally written by the SQL Server team, but was abandoned
as not being robust enough as a server-side RDBMS.

So it was handed over to the Office team instead...
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Jul 24 '07 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
3860
by: NotGiven | last post by:
I have a db that I need to dump into a format that can be easily read my MS Access. I tried the dump with regular PHPAdmin. Then I used the dump to run a query in MS Access. Errors occurred because MySQL inserts a backslash, "\", in front of an apostophe that user enters in a text field and MS Access doesn't know how to interpret that. Any ideas for easily getting whatever kind of data from MySQL to MS Access?
4
1791
by: Jonathan Smith | last post by:
I am thinking about attempting a program to help my colleagues at school to write their pupil reports. Each report has two sections: a list of skills with a seies of tick boxes to show the level reached, and an area to write a comment underneath. Each subject is slightly different in the number of skills and their description and therefore the position of the eomment is slightly different. I realise that I can create different forms to...
0
1216
by: j.mandala | last post by:
I have an Access application front end that has a generic version and several versions that I have customized for clients with small changes to various objects. Every few months I make improvements the the generic version. I am looking for an easy way to move the customized customized objects into the geeneric version. If the customizations are unique I just name them in ways that reflect the customers name to make them easy to import....
3
1604
by: Ken McCrory | last post by:
I have a web form page (.aspx) with 95 label controls that I now need to be text boxes. Is there an easy way to change those to what I want using something like a find and replace or am I stuck "changing" each one by hand by deleting the label and dragging a text box in its place? Alternatively, the reason I think I need text boxes is that I need to pass the info in the labels to another page and its not working unless I use a text box....
1
1191
by: John | last post by:
Hi Is there a distributable version of asp.net web site configuration tool available? I need it to distribute with my app to allow end user client to manage their own users. Thanks Regards
4
2057
by: Amar | last post by:
Hi All, I need to select data from a database table containing huge amount of data. Now I am storing data using one primary key and I am just using simple select statement, and this process gives me the output but it is taking long to execute the query. As much I had heared I want to use some indexing or cluster indexing which might help me but I am not so familiar with these things. So if any one having some solutions to execute the...
14
3869
by: ApexData | last post by:
I am considering building some distributable commercial applications. For about a year now, I have been using Access2000. This was my first venture into object oriented database development. Having a background in Pascal and some C++, I would have preferred those languages, but VBA made do. The SQL was fine. I believe that Security issues on the backend, and data integrity/ corruption complaints over the network may be a stumbling...
5
3342
by: Scott Gravenhorst | last post by:
I've read that VB 2008 output code (exe file) is not distributable - is this true? If not, how does one distribute it? Thanks for help
1
1100
by: Victor Lin | last post by:
Hi, I'd like to write some class that can help me build reusable formula easily, some simple code like this. # -*- coding: utf8 -*- class OperationResult: def __init__(self, left, right): self.dataSource = dataSource
0
8016
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8440
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8306
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
5466
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
3937
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
3980
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2448
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
1
1557
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
1300
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.