Partager via


ODBC DM 3.80 in Windows 7 and Windows Server 2008 R2

We’re excited to announce that version 3.8 of the Microsoft ODBC DM (Driver Manager) will be released in Windows 7 and Windows Server 2008 R2.

What’s New In Version 3.80?

Compared to ODBC 3.5x, there are four major improvements in ODBC 3.80.

Streamed Output Parameters

In ODBC 3.5x, applications can only use SQLBindParameter to bind a buffer to an output parameter of a stored procedure. When working with large BLOB data objects, such as images, allocating an extremely large buffer may not be possible. ODBC 3.80 allows applications to retrieve BLOB output parameters in parts via SQLGetData.

ODBC C-Type Extensibility

The list of valid C-Types defined in the ODBC specification is the same for all ODBC drivers. Typically, data store manufacturers create new data types for new scenarios or new customer needs. Applications usually use the generic C-type SQL_C_BINARY to work with these new data-source specific types. ODBC 3.80 allows driver manufacturers to define their own C-Types. This means that a driver can define its own client-side type conversion rule for its new driver-specific data type, and thus provide a better developer experience.

Asynchronous Connection Operation

Before ODBC 3.80, asynchronous mode was only supported on statement operations, such as SQLExecDirect and SQLGetData. We extend this support to connection operations, such as SQLDriverConnect and SQLEndTran. ODBC 3.80 also allows applications to cancel connection operations, just as with SQLCancel on statement operations.

Asynchronous connection operations can significantly improve the performance of many large-scale, mission-critical applications, given the same amount of resources. For example, assume that you want to populate 100 connections in the pool at the application startup time so that all subsequence requests can be more efficiently served. Suppose it takes 1 second to make a connection to a remote server. You may be able to make 100 connections within a few seconds with asynchronous mode in a single-threaded application, compared to 100 seconds with the previous model! Interactive applications that take advantage of this new feature could, for example, render a progress bar, and also cancel long-running connection operations easily.

Better Management In ODBC Connection Pooling

ODBC Drivers are now notified when the ODBC Driver Manager puts a connection into the connection pool. This was previously opaque to the driver. Upon receiving the signal from the Driver Manager (via a newly introduced connection attribute SQL_ATTR_RESET_CONNECTION), a driver can reset some of its attributes to their default states. This can provide a more consistent behavior to an application when it reuses a connection from the pool.

For more detail about each of the above new features, you can download the Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1: RC.

Why Update To Version 3.80?

Application compatibility was our highest priority when the ODBC 3.80 features were designed. Since the new features in ODBC 3.80 introduced new behavior, we upgraded the version to 3.80 from 3.5x (shipped on Windows Vista or Windows Server 2008). This guarantees that:

- Existing ODBC drivers and applications (ODBC 2.0 or ODBC 3.x) will still work properly under Windows 7 and Windows Server 2008 R2.

- ODBC 3.80 is optional for new development of drivers and applications.

When Can I Use These New Features?

For ODBC driver writers, the release candidates of Windows 7 and Windows Server 2008 R2 have these features. Try out the Win7 RC bits today!

For application developers, please read the SDK (link above) to better understand how these features may fit within your environment. At the moment, ODBC 3.80 drivers are not available; however, we are in contact with several driver vendors about supporting ODBC 3.80. Please work with your driver vendor to better understand their plan for ODBC 3.80 support.

 

Does SQLODBC Driver (Inside WDAC) Support ODBC 3.80?

No. SQLODBC is now in maintenance mode. Its sole purpose is for backward compatibility.

Pak-Ming Cheung

Microsoft Developer, WDAC team, Data Programmability

Comments

  • Anonymous
    August 08, 2009
    In future will it be available for Windows XP ? Thank you.

  • Anonymous
    August 13, 2009
    No. 3.8 features are only for Windows 7 and latter OSes. Not for XP even in the future.

  • Anonymous
    September 21, 2009
    The comment has been removed

  • Anonymous
    September 22, 2009
    OK, no problem, issue solved. To bring up the 32 bit level drivers, you can use odbcad32.exe under %WINDIR%SYSWOW64, you will find all the 32bit drivers enumerated. My bad, so sad.

  • Anonymous
    November 30, 2009
    I had 32 bit application installed on Win 2008 R2 64 bit, my applications use ODBC to access sql server 2005 32 bits on another server. I had configure odbc (Sql Server Type) under : %SystemRoot%SysWOW64odbcad32.exe But why i cannot connet to my database ? Would you please guide me, how to solve it ? you can contacts me below : sraharjo@aio.co.id

  • Anonymous
    November 21, 2010
    if you remove the launch condition via orca msi editor you can install it on xp without problems

  • Anonymous
    April 21, 2011
    Good information.But I want to ask one query that, 3.8 features will it be available for Windows XP in future? Also can you tell me what is the sole purpose of SQLODBC Driver. Thanks for sharing this informative blog. Parminder Singh <a href="http://www.xpresshred.com">Denver industrial paper shredder</a>