Groups | Blog | Home
all groups > vb.net data > january 2007 >

vb.net data : Which database?/SQL Server License


William (Bill) Vaughn
1/6/2007 1:44:04 PM
There are a dozen choices to leverage existing hardware and older operating
systems. Each has its own issues and limitations. A common approach that
some people use is to switch paradigms to ASP (web)-based architecture. In
this case you would setup a central IIS server visible to all users and
write a web site to host the data. This system needs to be robust and up to
date--but none of the others need to be. This central server would host SQL
Server (even the Express (free) version). The advantage here is anyone with
a browser (any browser) can access your application. The disadvantage here
is that if you've never written/supported a web site, you have a long, hilly
road ahead of you.

The other alternative is to transition to SQL Express from JET/Access. No,
you don't want to get tied up in MSDE at this point unless the systems MUST
run the database engine. In situations like yours I've had a lot of luck
writing front-end applications that work on older systems. This way you put
SQL Express on a single (up-to-date) system and expose it to the LAN. Again,
this has security implications but it can be managed if you're careful and
you know what you're doing. However, consider that you would have to write
the client code using tools that work on the oldest of these systems which
leaves much of the newest technology (and security) behind. No, VB.NET won't
work on older platforms. I expect you'll have to use the (no longer
supported) VB6 tools.

I discuss these alternatives in more detail in my book...

hth

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
INETA Speaker
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
Visit www.hitchhikerguides.net to get more information on my latest book:
Hitchhiker's Guide to Visual Studio and SQL Server (7th Edition)
and Hitchhiker's Guide to SQL Server 2005 Compact Edition (EBook)
-----------------------------------------------------------------------------------------------------------------------

[quoted text, click to view]

Plamen Ratchev
1/6/2007 2:21:31 PM
If your customers have already purchased SQL Server 2000 then they can use
it with your application (assuming they have a server processor license or
each of their client computers has a client license). In case your customers
do not have SQL Server then see the options below.

If you develop your application on SQL Server 2000 then you best choice
would be using MSDE (basically a trimmed down version of SQL Server). It is
free to distribute and provides almost the same capabilities as SQL Server
2000. Also, it will support older operating systems like Windows 98.

Here is more info on MSDE:
http://www.microsoft.com/sql/prodinfo/previousversions/msde/prodinfo.mspx
http://www.microsoft.com/sql/prodinfo/previousversions/msde/sysreqs.mspx
http://www.microsoft.com/sql/downloads/2000/default.mspx

Have in mind that MSDE is not supported on Vista. If you have computers
running Vista you can use SQL Server 2005 Express (which is the successor
for MSDE):
http://www.microsoft.com/sql/editions/express/overview.mspx
http://www.microsoft.com/sql/editions/express/sysreqs.mspx

Note that you cannot use SQL Server 2005 Express on Windows 98.

Regards,

Plamen Ratchev
http://www.SQLStudio.com

[quoted text, click to view]

William (Bill) Vaughn
1/6/2007 3:27:13 PM
All versions of SQL Server are designed with the ability to limit access to
the server via a UserName/Password scheme. This can be configured to permit
a designated user full or highly focused access to the database(s), tables,
procedures, views and more. Can this scheme be defeated? Sure it can as can
most security schemes. It's a lot safer than Access/JET but not foolproof.
SQL Server Compact edition does support full database encryption/password
protection--which is different than any other version. AFA users, that
really depends on a number of factors. I've seen SQL Server databases
support thousands of users on an old 386/33 processor with less RAM than a
cheap digital camera. I've also seen the most recent versions of SQL Server
struggle to support two users. As I describe in the book, scalability and
performance have as much to do with design and implementation as they do the
engine. If you can build suitable apps with VS2003 then go for it. This
exposes 90% of ADO.NET (the rest is exposed on 2.0) and is still supported.
I expect the book will save you a lot of time if you're taking a Windows
Forms approach...

hth

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
INETA Speaker
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
Visit www.hitchhikerguides.net to get more information on my latest book:
Hitchhiker's Guide to Visual Studio and SQL Server (7th Edition)
and Hitchhiker's Guide to SQL Server 2005 Compact Edition (EBook)
-----------------------------------------------------------------------------------------------------------------------

[quoted text, click to view]

HKSHK
1/6/2007 7:36:34 PM
Hello,

I am currently writing a database application which uses ADO.
However as I experience a runtime error 3014 (Can't open any more
tables) I want to move away from Access databases as backend.

The application I work on is for schools, so I do not expect state of
the art computers and need to consider resources. This is why I chose
Access databases in the first place.

Currently I use 3 databases (1 for main data, 1 for translation, 1 for
lists).

I have Visual Studio 2003 and SQL Server 2000.

My questions are:

* If I use SQL Server 2000 as backend, do my customers have to buy a
separate license for SQL server or can they just use my software with
SQL Server 2000? Are there any limitations (number of users etc.)?

* Are there any other freeware databases which do not use much
resources? One of my goals is that they run on Windows 98 and later (and
Win98 computers usually do not have much RAM installed).

I'm grateful for any suggestions.

Thanks in advance!

Best regards,

Jos Roijakkers
1/6/2007 8:12:09 PM
Hello HKSHK,

One option is to use MS SQL 2005 Express.
You can also consider using MySQL.

Jos Roijakkers
mailto:j.roijakkers@qred-it.nl

[quoted text, click to view]

HKSHK
1/6/2007 11:19:20 PM
Dear Bill,

[quoted text, click to view]

Do you know if SQL Server Express 2005 can create password protected
databases? Do you know how many connections it can handle and how many
databases at one time?

[quoted text, click to view]

I'm using VB.NET 2003, which runs on Windows 98/ME/2000/XP and should
also run on Vista. This is why I would like to avoid any FW 2.0 stuff as
it will only run on XP Vista.

Best regards,

HKSHK
1/6/2007 11:46:12 PM
Thanks a lot for the responses so far.

I'm currently checking Firebird and it seems that it is what I'm looking
for (it can run on Win9x/NT/2000/XP) and (they say that) it needs not
much resources.

However, has anyone some experience with Firebird in combination with
..NET (preferably VB.NET 2003)? I know that they offer a .NET Data
Provider, but it's FW 2.0, so it's no use for me.

I would appreciate your comments.

Thanks a lot!

Best regards,

HKSHK
Plamen Ratchev
1/7/2007 9:59:57 AM
Earlier I posted two options: SQL Server 2005 Express and MSDE. I listed
MSDE only because you mention it is a requirement to be supported on Windows
98 (that is to have the database installed on Windows 98). As Bill indicated
a better design approach is to use a central application model with IIS and
SQL Server 2005 Express as a back end. If it is not possible to implement
this and you need to install your application and database on each computer
(including the Windows 98 computers) I believe MSDE is still your best
option.

Both SQL Server 2005 Express and MSDE can be bundled in your installation
program and really no need for your customers to download anything. And they
are both very secure databases. Please take a look at the following
articles:
https://www.microsoft.com/sql/prodinfo/previousversions/securingsqlserver.mspx
http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sp3sec04.mspx
http://vyaskn.tripod.com/sql_server_security_best_practices.htm

Although the articles are related to SQL Server 2000 the information is
correct for both SQL Server 2000 Express (actually has even better security)
and MSDE. And here are two articles from independent sources that just
confirm that:

1). SQL Server vs. Oracle - Which Database is More Secure?
A very good and interesting white paper by David Litchfield from Next
Generation Security Software comparing the numbers of security flaws
identified by external security researchers and subsequently fixed by Oracle
and Microsoft in regard to their database products.
http://www.ngssoftware.com/research/papers/comparison.pdf

2). SQL Server is The Safest Database
According to this study from the Enterprise Strategy Group, Oracle has 70
vulnerabilities, MySQL has 59, Sybase has seven, IBM's DB2 has four, and SQL
Server has just two.
http://www.darkreading.com/document.asp?doc_id=110881&WT.svl=news1_3

I have been in a very similar situation. The requirements were to support
older operating systems like Windows 98, both the application and database
had to be installed on one or a small group of computers, the client has no
IT staff to support IIS and needs to install the application at different
locations just by using the installation program. That ruled out the
possibility to have an IIS based application.

It started as a database application in Access (that was very long time
ago). Over time Access proved to have a few issues. When running on low end
computers (like Windows 98 based) it is very common for the computer to
crash. That can be very damaging to the Access database and sometimes it is
not possible to recover data. Also, Access is missing some of the very good
database features like transaction support, good security, etc. And as data
grows the performance can go down. After one year of using Access I moved
the database to MSDE 2000. That was a significant improvement in all areas.
Now after a crash MSDE handles automatic database file recover and we had no
lost transactions. Also, our application provides backup and restore based
on the SQL Server functions. Currently the application is migrating to SQL
Server 2005 Express. There will be still a version with MSDE for support of
older operating systems, but SQL Server 2005 Express will be the choice for
any new installation (and the installation package can be intelligent to
offer both choices based on the operating system).

You can also take a look at the SQL Server 2005 Compact Edition:
http://www.microsoft.com/sql/editions/compact/default.mspx

Regards,

Plamen Ratchev
http://www.SQLStudio.com

[quoted text, click to view]

HKSHK
1/7/2007 10:55:11 AM
I finished my check of Firebird.

Due to its design Firebird is not a secure database. That means that
everybody who can access the database file can access any data in it.

So Firebird is not an option.

I also checked Oracle 10g XE. However it requires Windows 2000 or newer
and min 256 MB of RAM. So this is also not an option.

It seems that I have to go back to JET... as MS SQL Server would either
require my customers to buy licenses or to download and install SQL
Server 2005 Express Edition on a Windows XP machine.

If anyone has a suggestion for a secure database - I'm always open to
suggestions.

Thanks to all of you!

Best regards,

Plamen Ratchev
1/7/2007 11:02:49 AM
Two more things:

1). If you have to go with MSDE you are really not locked into it. The
upgrade path to SQL Server 2005 Express is very easy and well supported (as
well it can be fully automated). Of course, as long as the minimum
requirement for SQL Server 2005 Express are met.

2). Both SQL Server 2005 Express and MSDE are supported by the Enterprise
Library Data Application Blocks. It is a great library based on best
practices and it has saved many hours of development. As you are using .NET
1.1 you would have to use version 1.1 (from June 2005). Here is the link:
http://www.codeplex.com/entlib

Regards,

Plamen Ratchev
http://www.SQLStudio.com

[quoted text, click to view]

William (Bill) Vaughn
1/7/2007 11:45:54 AM
This is a great response. Thanks for taking the time to provide a
well-written answer.

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
INETA Speaker
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
Visit www.hitchhikerguides.net to get more information on my latest book:
Hitchhiker's Guide to Visual Studio and SQL Server (7th Edition)
and Hitchhiker's Guide to SQL Server 2005 Compact Edition (EBook)
-----------------------------------------------------------------------------------------------------------------------

[quoted text, click to view]

William (Bill) Vaughn
1/7/2007 11:49:14 AM
SQL Server Express is free. It does not require a special license or a
runtime fee. Yes, if you insist on using a client-centric database approach
as heavy as SQL Server, the clients are going to need to install it. This
either means a one-time download or CD-delivery. Do not discount SQL Server
Compact Edition. It can be installed/deployed as 7 (or fewer) DLLs with your
application which will also have to be "downloaded". It can be fully secured
(encrypted from top to bottom) and while its more limited than SQL Server
(and the others), its fast, safe and efficient and might meet your needs
completely.

hth

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
INETA Speaker
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
Visit www.hitchhikerguides.net to get more information on my latest book:
Hitchhiker's Guide to Visual Studio and SQL Server (7th Edition)
and Hitchhiker's Guide to SQL Server 2005 Compact Edition (EBook)
-----------------------------------------------------------------------------------------------------------------------

[quoted text, click to view]

Michel Posseth [MCP]
1/7/2007 12:33:44 PM
I was also in this situation , and had given up

I checked almost every DB availlable at that time ( MSSQL , Firebird ,
Oracle , DB2 ,SQLLITE etc etc )

They were or not protectable from the system administrator , or they were to
expensive to deploy to my + 20.000 userbase , some small vendors who
claimed to have an alternativ were simply to slow although the claims on
there website said the opposite i did some benchmarking of my own and found
out that in speed the MS products are unbeatable on windows systems .

However As Bill describes above in the newer versions of SQL you can protect
the database just as ACCESS ( i guess you use Access in combination with a
workgroup file ) , I remember to had some discussions with Bill at that
time about the security thingy he told me then that there was a beta version
of SQL that is protectable , so we decided to wait for this version and
stick with Access for that moment .

They ( i do not work with this company annymore ) have solved the issue now
by raising the program specifications ( in a frame of one year ) so probably
in a few months from now the program is deployed with an encrypted /
protected MDF

regards

michel posseth

"HKSHK" <hkshk@gmx.net> schreef in bericht
news:45a0c37d$0$13620$9b622d9e@news.freenet.de...
[quoted text, click to view]

HKSHK
1/7/2007 2:35:30 PM
Dear Plamen, dear Bill,

Thanks a lot for your suggestions!

I'm really considering going SQL Server Compact Edition.

The only bad thing is that it requires FW 2.0 while I wanted to stick
with FW 1.1... I really have to think about that. Using MSDE would not
really help as Vista is coming soon and I want my software also to run
on it, too.

So I have to choose if I either stick with Jet or if I make a clean cut
and use SQL Server Compact Edition.

Again, thanks a lot for your suggestions!

Best regards,

HKSHK
AddThis Social Bookmark Button