Click here to Skip to main content
15,904,415 members
Home / Discussions / Database
   

Database

 
AnswerRe: SQL2005 compatibility problem Pin
originSH17-Jul-07 4:57
originSH17-Jul-07 4:57 
GeneralRe: SQL2005 compatibility problem Pin
Peterson Luiz18-Jul-07 4:19
Peterson Luiz18-Jul-07 4:19 
QuestionADO and ODBC - confused Pin
Tom Wright17-Jul-07 4:09
Tom Wright17-Jul-07 4:09 
AnswerRe: ADO and ODBC - confused Pin
Bert delaVega17-Jul-07 4:37
Bert delaVega17-Jul-07 4:37 
GeneralRe: ADO and ODBC - confused Pin
Tom Wright17-Jul-07 5:13
Tom Wright17-Jul-07 5:13 
GeneralRe: ADO and ODBC - confused Pin
Bert delaVega17-Jul-07 5:29
Bert delaVega17-Jul-07 5:29 
GeneralRe: ADO and ODBC - confused Pin
Tom Wright17-Jul-07 5:35
Tom Wright17-Jul-07 5:35 
AnswerRe: ADO and ODBC - confused Pin
Mike Dimmick17-Jul-07 5:20
Mike Dimmick17-Jul-07 5:20 
ADO is a wrapper for a technology called OLE DB, although it has little to do with OLE (Object Linking and Embedding). The database-specific layer (called a Provider) is a set of COM objects which implement interfaces designed by Microsoft. The client talks directly to the OLE DB provider with no intermediary. ADO is a classic VB-friendly wrapper for OLE DB.

ODBC (Open Database Connectivity) is based around a manager/driver model. Applications talk to the ODBC manager, which talks to the drivers. The extra overhead is generally minimal. ODBC is the ANSI standard interface defined in the SQL standard.

To enable transition to ADO/OLE DB from ODBC, i.e. so that client application developers could use the new interface before the database developers released OLE DB providers, Microsoft made a special provider called the OLE DB Provider For ODBC available (its ProgID, which you specify in the Provider connection string parameter, is MSDASQL). You should only use this where there is no native OLE DB provider. This provider adds extra overhead and implements a reduced feature set compared to native OLE DB providers. Unfortunately it's also the default provider - it's what you get if you don't specify a Provider in the connection string.

The relative speed of ODBC and ADO is all down to the provider and driver, but in general, all else being equal, ADO should be slightly faster than ODBC if you're using a native OLE DB provider.

ADO.NET is slightly misnamed in the .NET Framework. It's really a general umbrella name for 'how .NET does data access'. The desktop Framework ships with four Providers (the name is the same but the concepts have changed) - two generic (OLE DB, ODBC) and two specific (SQL Server, Oracle [since 1.1]). You can also obtain third-party Providers. The cost of calling a COM object is slightly higher than calling a 'flat' API like ODBC in the .NET Framework, so OLE DB's small performance advantage is mostly negated.

You can access a third-party database like MySQL either through a native .NET provider or via an OLE DB provider (using OleDbConnection) or ODBC driver (using OdbcConnection). Generally you should prefer a native .NET provider as it's likely to have more features and less translation.

Stability. What an interesting concept. -- Chris Maunder

GeneralRe: ADO and ODBC - confused Pin
Tom Wright17-Jul-07 5:27
Tom Wright17-Jul-07 5:27 
GeneralRe: ADO and ODBC - confused Pin
Pete O'Hanlon18-Jul-07 3:15
mvePete O'Hanlon18-Jul-07 3:15 
QuestionKnowing Table structure in Sybase Pin
meeram39517-Jul-07 3:33
meeram39517-Jul-07 3:33 
AnswerRe: Knowing Table structure in Sybase Pin
andyharman17-Jul-07 4:12
professionalandyharman17-Jul-07 4:12 
AnswerRe: Knowing Table structure in Sybase Pin
PIEBALDconsult17-Jul-07 7:54
mvePIEBALDconsult17-Jul-07 7:54 
Questionnewbie: How can I see the warnings when creating DB from file? Pin
Atara17-Jul-07 1:57
Atara17-Jul-07 1:57 
AnswerRe: newbie: How can I see the warnings when creating DB from file? Pin
Atara17-Jul-07 21:02
Atara17-Jul-07 21:02 
QuestionORA-12705: Cannot access NLS data files or invalid environment specified Pin
qtuan16-Jul-07 22:25
qtuan16-Jul-07 22:25 
QuestionProblem in Query Pin
Khan.Bangash16-Jul-07 21:42
Khan.Bangash16-Jul-07 21:42 
AnswerRe: Problem in Query Pin
andyharman16-Jul-07 22:17
professionalandyharman16-Jul-07 22:17 
GeneralRe: Problem in Query Pin
Khan.Bangash16-Jul-07 22:30
Khan.Bangash16-Jul-07 22:30 
AnswerRe: Problem in Query Pin
andyharman17-Jul-07 1:23
professionalandyharman17-Jul-07 1:23 
GeneralRe: Problem in Query Pin
Khan.Bangash17-Jul-07 1:55
Khan.Bangash17-Jul-07 1:55 
AnswerRe: Problem in Query Pin
andyharman17-Jul-07 3:18
professionalandyharman17-Jul-07 3:18 
QuestionRights needed to create tablespace in oracle? Pin
Mushtaque Nizamani16-Jul-07 20:25
Mushtaque Nizamani16-Jul-07 20:25 
AnswerRe: Rights needed to create tablespace in oracle? [modified] Pin
andyharman16-Jul-07 20:31
professionalandyharman16-Jul-07 20:31 
QuestionDoubt in query........., Pin
Member 387988116-Jul-07 19:12
Member 387988116-Jul-07 19:12 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.