Hi,
I'm writing a WinForms app in C# and need to store various items of lookup
data which will be accessible and maintainable by the user. I'm looking for
advice as to the best way to achieve this, according to the following
provisos:
1) The app must be able to "match" records according to various criteria in
a standard sort of "fetch me all the records where..." way. This doesn't
have to be SQL becuase it will all be GUI driven. E,g the user selects
various criteria via dropdowns (age, sex, area etc) and the app returns the
records which match those criteria, so the user won't care whether the app
uses SQL or another technology under the hood.
2) The schema is fairly flat with one main table containing about fifty
fields, and only a handful of related lookup tables.
3) There might be several thousand records in the main table.
4) There must be no additional licensing costs incurred with the database
software.
5) The data might be single-user standalone or accessed by multiple users at
once, so would have to be able to reside on a network share though, because
of 4) above, something like SQL Server is right out, unfortunately.
6) The data must be unreadable by anything or anyone other than my
application.
7) The data must be easily backed up and restored.
Given this, would you recommend:
a) a Jet database
b) some sort of XML file / schema structure
c) something else altogether,
Any assistance gratefully received.
Best regards,
Mark Rae 8 1558
If you don't want licencing costs and if you're not holding much data you
can use an XML file.
If it gets big, just compress it however! if multiple uses open and write to
this file you've got a sync problem and users can and will
overwrite data. You'd have to write a service that can maintain the xml file
in a syncronis pattern. so for eg: your app writes changes to single xml
update files on the disk, a service collects them and updates the main xml
storage file.
or you can use MySql .... its free and works damn well. I guess a normal
Access file would work too.
-p
"Mark Rae" <ma**@markrae.c o.uk> wrote in message
news:OK******** *****@TK2MSFTNG P12.phx.gbl... Hi,
I'm writing a WinForms app in C# and need to store various items of lookup data which will be accessible and maintainable by the user. I'm looking
for advice as to the best way to achieve this, according to the following provisos:
1) The app must be able to "match" records according to various criteria
in a standard sort of "fetch me all the records where..." way. This doesn't have to be SQL becuase it will all be GUI driven. E,g the user selects various criteria via dropdowns (age, sex, area etc) and the app returns
the records which match those criteria, so the user won't care whether the app uses SQL or another technology under the hood.
2) The schema is fairly flat with one main table containing about fifty fields, and only a handful of related lookup tables.
3) There might be several thousand records in the main table.
4) There must be no additional licensing costs incurred with the database software.
5) The data might be single-user standalone or accessed by multiple users
at once, so would have to be able to reside on a network share though,
because of 4) above, something like SQL Server is right out, unfortunately.
6) The data must be unreadable by anything or anyone other than my application.
7) The data must be easily backed up and restored.
Given this, would you recommend:
a) a Jet database
b) some sort of XML file / schema structure
c) something else altogether,
Any assistance gratefully received.
Best regards,
Mark Rae
"ilPostino" <ne**@ip80.co m> wrote in message
news:uc******** ******@TK2MSFTN GP11.phx.gbl... If you don't want licencing costs and if you're not holding much data you can use an XML file. If it gets big, just compress it however! if multiple uses open and write
to this file you've got a sync problem and users can and will overwrite data. You'd have to write a service that can maintain the xml
file in a syncronis pattern. so for eg: your app writes changes to single xml update files on the disk, a service collects them and updates the main xml storage file.
I'm sort of veering away from XML because of the multiuser requirement...
or you can use MySql .... its free and works damn well. I guess a normal Access file would work too.
I'm sort of heading more and more towards an Access (well, Jet!) file
because I know Access inside out and it wouldn't require any runtime
licenses because of System.Data.Ole Db
the msde engine might be a good alternative assuming you're comfortable with
SQL Server. It's free, it's SQL Server, but has a limit of something
ridiculous like 20 concurrent users. Assuming a 2 GB limit isn't a problem,
that's a lot of users.
Mark www.dovetaildatabases.com
"Mark Rae" <ma**@markrae.c o.uk> wrote in message
news:OO******** ******@TK2MSFTN GP09.phx.gbl... "ilPostino" <ne**@ip80.co m> wrote in message news:uc******** ******@TK2MSFTN GP11.phx.gbl...
If you don't want licencing costs and if you're not holding much data
you can use an XML file. If it gets big, just compress it however! if multiple uses open and
write to this file you've got a sync problem and users can and will overwrite data. You'd have to write a service that can maintain the xml file in a syncronis pattern. so for eg: your app writes changes to single xml update files on the disk, a service collects them and updates the main
xml storage file.
I'm sort of veering away from XML because of the multiuser requirement...
or you can use MySql .... its free and works damn well. I guess a normal Access file would work too.
I'm sort of heading more and more towards an Access (well, Jet!) file because I know Access inside out and it wouldn't require any runtime licenses because of System.Data.Ole Db
----- Mark wrote: ---- the msde engine might be a good alternative assuming you're comfortable wit SQL Server. It's free, it's SQL Server, but has a limit of somethin ridiculous like 20 concurrent users. Assuming a 2 GB limit isn't a problem that's a lot of users
I think MSDE has a limit of running 8 (or 10? can't remember the exact number) concurrent queries. when you exceed that limit, it will put a delay in to slow down the performance on purpose. which won't be a problem when you only have a small amount of users. that's the best option
Access file is the second best, but it's no where near the performance of MSDE, which is essentially SQL Server for a small group of users
XML file is a poor choice because there's no way to update a small piece without rewriting the whole file. and a lot of manual synchronization .
SQLite ( www.sqlite.org) ? 4) There must be no additional licensing costs incurred with the database software.
Free, open source.
5) The data might be single-user standalone or accessed by multiple users at once, so would have to be able to reside on a network share though, because of 4) above, something like SQL Server is right out, unfortunately.
Depends on what you want. It looks the whole database when writing, not only
one record.
6) The data must be unreadable by anything or anyone other than my application.
This is a problem with most "of the shelf" solutions.
If you plan to use some encryption, it will be a weak one or you will get a
bit performance penalty.
--
Mihai
-------------------------
Replace _year_ with _ to get the real email
"Mihai N." <nm************ **@yahoo.com> wrote in message
news:Xn******** ************@63 .240.76.16...
Thanks for the reply. We've decided to give users the choice of using our
desktop database (which will be Jet 4.0) or to use their own. There will be
an option in the app which will allow users to point at a file which
contains the OleDb connection string, either locally or on a network, which
allows for total flexibilty. The only proviso we make is that the RDBMS they
choose must support SQL. We will also provide an SQL script for
administrators to run so that they can create the database, tables and
fields that our app is expecting.
On Thu, 1 Apr 2004 09:40:57 -0600, "Mark"
<fi******@idono tlikejunkmail.u mn.edu> wrote: the msde engine might be a good alternative assuming you're comfortable with SQL Server. It's free, it's SQL Server, but has a limit of something ridiculous like 20 concurrent users. Assuming a 2 GB limit isn't a problem, that's a lot of users.
Mark
MSDE is a good alternative, but depending on your deployment
constraints, can be problematic to fully integrate into your
deployment package.
If you have no problem with instructing your users to install MSDE and
then your product, its fine.
This is a problem we having been fighting for years. One example is the
like statement in access is 'Select * from Data where fullname like 'we*';
then sql standard uses 'Select * from Data where fullname like 'we%'.
There are many other examples. The SQL syntax differs for Access(Jet 4.0) vs
Sql Server.
"Mark Rae" <ma**@markrae.c o.uk> wrote in message
news:%2******** ********@tk2msf tngp13.phx.gbl. .. "Mihai N." <nm************ **@yahoo.com> wrote in message news:Xn******** ************@63 .240.76.16...
Thanks for the reply. We've decided to give users the choice of using our desktop database (which will be Jet 4.0) or to use their own. There will
be an option in the app which will allow users to point at a file which contains the OleDb connection string, either locally or on a network,
which allows for total flexibilty. The only proviso we make is that the RDBMS
they choose must support SQL. We will also provide an SQL script for administrators to run so that they can create the database, tables and fields that our app is expecting.
This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: jelle |
last post by:
Hi,
Has anyone so far been messing accessing / quering the google desktop
database files? It seems it could be the best reflection of one in a
couple of hundred mb, and i intent to unleash some furious queries on
it, when i'd know how to access it. Any suggestion how this could be
done in python? My intention is to apply data mining to the google
desktop database. How about it, who's in for it?
Cheers,
|
by: Etienne Charland |
last post by:
Hi, there is an application running on a remote desktop (under Citrix ICA,
but the same problem applies for RDC or PC Anywhere). Now, I want to send
keys to the remote application from a local app. I tried sending keys in VB
with SendKeys, as well as using keybd_event API, but I'm not able to send
any keys. It works very well for any local applications, but I can't pass
the keys remotely. Is there any way to do it?
Thanks!
Etienne
|
by: Bsiang Tan |
last post by:
Hi all,
Could anyone kindly point me the way to capture the desktop image (include
the desktop icon) as bitmap ?
Thank a lot
Best regard,
Bsiang
|
by: Mark Rae |
last post by:
Hi,
I'm writing a WinForms app in C# and need to store various items of lookup
data which will be accessible and maintainable by the user. I'm looking for
advice as to the best way to achieve this, according to the following
provisos:
1) The app must be able to "match" records according to various criteria in
a standard sort of "fetch me all the records where..." way. This doesn't
have to be SQL becuase it will all be GUI driven. E,g...
|
by: Daniel Liberman |
last post by:
Hi, everyone.
That's my environment:
- I have a pocket pc (iPAQ h4350) application developed with
VSNET2003/C# that has a SQL Server CE Database, running. That's working
fine. Obs: the pocket is NOT supposed to have a wireless conection
available.
- I have an access database on a standalone desktop running Windows XP,
i.e., there is NO guaranteed network connection available.
- I've developed a webservice with VSNET2003/C# too to do...
| |
by: bz |
last post by:
Hi,
I need to create a win service that lookup a file ina folder, ands
when received, read it then fir an event.
Then I need a desktop app that, when runs, bind to the event from the
win service, and when the event fires, read the eventarg data and do
some processing with.
Can anyone point me to the right direction to do this?
|
by: abhijitbkulkarni |
last post by:
Hello,
I am designing a .NET database application that uses 3 tier architecture. Starting initially, this application will be desktop application but I will convert it into a website later but design that I am planning should support both version.
Development Environment : VS2008, C#
Currently Database supported are MS SQL Server 2005 and MYSQL 5 and design for database support is extensible.
This application contains several high...
|
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...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
|
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...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
| |
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
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...
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
|
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...
| |