473,699 Members | 2,607 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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 1591
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.publi c.data.ado and
microsoft.publi c.data.odbc]

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

http://msdn.microsoft.com/library/de...us/dnsqlmag02/
html/TheEvolutionofD ata-AccessTechnolog ies.asp

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

"Me" <Me@me.com> wrote in message
news:#x******** ******@TK2MSFTN GP12.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******** ********@TK2MSF TNGP12.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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
3288
by: Fons Dijkstra | last post by:
Hello, I'm using the mx.ODBC.Windows package in order to read/write a MSAccess database. Everything works fine apart from the DATE format handling. I'm using the default "datetimeformat" (i.e. DATETIME_DATETIMEFORMAT) as suggested. The date columns in the MSAccess database have "Short Date" format. When I read a DATE item everything works fine, like:
0
2242
by: Marco Aschwanden | last post by:
Hi - Win2000 - Python 2.3.3 - py2exe 0.5.0 - eGenix Comercial & Base Package I am developing an app using mxODBC. On the home page they say http://www.egenix.com/files/python/mxODBC.html#Hints
7
1885
by: Chris | last post by:
Hello, I posted a while back about a newbie database question and got a lot of great help here. My script that I am creating has come a long way (For me!) and almost does what I need it too. I am basicly using a dictionary to update a access database using an odbc connector. I am able to connect and it seems that I am able to loop through the code to update all the rows I need to. The one weird bug I seem to get is what ever is the...
11
3757
by: Wolfgang Kaml | last post by:
Hello All, I have been working on this for almost a week now and I haven't anything up my sleeves anymore that I could test in addition or change.... Since I am not sure, if this is a Windows 2003 Server or ADO or ODBC issue, I am posting this on all of the three newsgroups. That's the setup: Windows 2003 Server with IIS and ASP.NET actiavted Access 2002 mdb file (and yes, proper rights are set on TMP paths and path,
6
8186
by: Rafi Kfir | last post by:
HI, I use vb6 to access database. I can select between "local" data base and "remote" data base. Both connection calls the same Access 2000 Mdb. The Mdb contains local tables (on the hard disk) and remote links to Oracle tables via odbc link. The local connection (to the recordset) is fast, but the "remote" connection takes around 7 minuits.
26
6093
by: Dragon | last post by:
I have an Access 2003 .mde sitting on an SQL Server. The tables for the application also sit on the Server. I'm having a problem with ODBC on only one of about 10 machines. All the other machines using my Access 2003 .mde see the linked tables without a problem. I've configured the User DSN (under Control Panel, Administrative Tools) tab to match what the other machines are set to, but this didn't work. I keep getting an error message...
4
2610
by: gege | last post by:
Hi everyone, I'm looking for a C++ ODBC class. Could anybody give me some references ? Thx a lot ! gg ps: - I'm working with MSVC
9
2470
by: Jacques Lebastard | last post by:
I have a problem writing PHP ODBC scripts that suit both MySQL and PostgreSQL. So far, the following syntaxes seem to apply to each database (this is an 'insert' example; the same differences apply to 'select commands): MySQL: INSERT INTO MyTable (col1, col2) VALUES ("value1","value2") PGSQL: INSERT INTO "MyTable" (col1, col2) VALUES ('value1','value2') I'd like to have a single syntax for both databases. Is this possible? Do I need...
7
5565
by: BillCo | last post by:
I need to Connect to an online mySQL database from Access using JET ODBC with no saved DSN. Anyone out there who as made this work and can give example of how it's done? I've seen lots of posts saying it's possible, but no code. This has to be Jet ODBC, because the users are technophobes and I wouldnt expect them to download and install a myODBC driver - or create a working DSN for that matter. My visiting the sites and configuring...
0
8633
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,...
0
9199
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...
1
8947
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,...
0
8902
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
7787
agi2029
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...
0
5891
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
4392
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
4642
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
2366
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.