468,133 Members | 1,634 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,133 developers. It's quick & easy.

ODBC or ADO?? Advice needed

Me
I am writing a C#.NET application that is primarily intended to be used with
SQL server. One of my concerns is that in the future I will have users who
do not have or want to run SQL Server. That led me to think that perhaps I
should be using ODBC from the start.

What are your thoughts and suggestions on this? Will I still be able to run
stored procedures and use disconnected data sets if I use ODBC? Will there
be any loss of performance or other issues I should be aware of if I use
ODBC? Any other advice for me? Thank you.
Nov 15 '05 #1
4 1407
What are your thoughts and suggestions on this? Will I still be able to run stored procedures and use disconnected data sets if I use ODBC? Will there be any loss of performance or other issues I should be aware of if I use
ODBC? Any other advice for me? Thank you.


odbc is less performant and powerfull than ADO .NET.
what i would do in your case is use the free MSDE database engine.
basically this is a SQL server without the enterprise manager (and some
other differences)

because it is free, and compatible with SQL server itself, you would only
have to target 1
database type.

kind regards,
Bruno.
Nov 15 '05 #2

"Me" wrote...
One of my concerns is that in the future
I will have users who
do not have or want to run SQL Server.
The approach many advocates is to modularize your application into layers,
where you easily can exchange the datalayer from one dbms to another when
the need arises.

The best performance is almost always achieved when the database part of the
application is written especially for the target database at hand.

So you should encapsulate all queries and other calls to the database into a
separate module, which the rest of the application can use, without regards
on which database it's using. This module should have a coherent interface,
so when you exchange it for another module it's transparent to the rest of
the application.

Hence, a recommendation would be to define a separate interface for this
"database-proxy", which can be reused for the next one.
Will I still be able to run
stored procedures and use
disconnected data sets if
I use ODBC?
Sure, but do the customers databases have the possibility to run stored
procedures?

That is another argument for writing the database-proxy. Even if your proxy
for SQL Server is based heavily on stored procedures, a proxy for e.g. MySQL
must have another approach, since it doesn't support stored procedures
(yet).
Will there be any loss of performance


Absolutely, but in some cases ODBC could possibly be the only way to go,
when there is no other Data Providers available.

Hence, you maybe *should* write one database-proxy for ODBC *as well* as for
other dbms.

[Followup stripped down to only
microsoft.public.data.ado and
microsoft.public.data.odbc]

// Bjorn A
Nov 15 '05 #3
This may help explain your options:

http://msdn.microsoft.com/library/de...us/dnsqlmag02/
html/TheEvolutionofData-AccessTechnologies.asp

--
Crimson Star, MCSE
Technical Webmaster
Alberta Corporate Service Centre
Government of Alberta

"Me" <Me@me.com> wrote in message
news:#x**************@TK2MSFTNGP12.phx.gbl...
I am writing a C#.NET application that is primarily intended to be used with SQL server. One of my concerns is that in the future I will have users who do not have or want to run SQL Server. That led me to think that perhaps I should be using ODBC from the start.

What are your thoughts and suggestions on this? Will I still be able to run stored procedures and use disconnected data sets if I use ODBC? Will there be any loss of performance or other issues I should be aware of if I use
ODBC? Any other advice for me? Thank you.

Nov 15 '05 #4
why not an oledb client?
"Me" <Me@me.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
I am writing a C#.NET application that is primarily intended to be used with SQL server. One of my concerns is that in the future I will have users who do not have or want to run SQL Server. That led me to think that perhaps I should be using ODBC from the start.

What are your thoughts and suggestions on this? Will I still be able to run stored procedures and use disconnected data sets if I use ODBC? Will there be any loss of performance or other issues I should be aware of if I use
ODBC? Any other advice for me? Thank you.

Nov 15 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by Fons Dijkstra | last post: by
reply views Thread by Marco Aschwanden | last post: by
7 posts views Thread by Chris | last post: by
26 posts views Thread by Dragon | last post: by
4 posts views Thread by gege | last post: by
9 posts views Thread by Jacques Lebastard | last post: by
1 post views Thread by gcdp | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.