CINXE.COM

Open Database Connectivity - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Open Database Connectivity - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"dc5232b7-f3cd-4ccb-92c0-37810dceb011","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Open_Database_Connectivity","wgTitle":"Open Database Connectivity","wgCurRevisionId":1282875236,"wgRevisionId":1282875236,"wgArticleId":168701,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Webarchive template wayback links","Articles with short description","Short description matches Wikidata","All articles with unsourced statements","Articles with unsourced statements from April 2020","All accuracy disputes","Articles with disputed statements from February 2013","Articles containing potentially dated statements from 2008","All articles containing potentially dated statements","Articles with unsourced statements from July 2008","Computer programming","Microsoft application programming interfaces","Database APIs","SQL data access"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Open_Database_Connectivity","wgRelevantArticleId":168701,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgRedirectedFrom":"ODBC","wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":30000,"wgInternalRedirectTargetUrl":"/wiki/Open_Database_Connectivity","wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q212606","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGELevelingUpEnabledForUser":false}; RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready"};RLPAGEMODULES=["mediawiki.action.view.redirect","ext.cite.ux-enhancements","ext.scribunto.logs","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.quicksurveys.init","ext.growthExperiments.SuggestedEditSession"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.23"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Open Database Connectivity - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Open_Database_Connectivity"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Open_Database_Connectivity"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="auth.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Open_Database_Connectivity rootpage-Open_Database_Connectivity skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" title="Main menu" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li><li id="n-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages"><span>Special pages</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Open+Database+Connectivity" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Open+Database+Connectivity" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Open+Database+Connectivity" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Open+Database+Connectivity" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-History" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#History"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>History</span> </div> </a> <button aria-controls="toc-History-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle History subsection</span> </button> <ul id="toc-History-sublist" class="vector-toc-list"> <li id="toc-Before_ODBC" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Before_ODBC"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Before ODBC</span> </div> </a> <ul id="toc-Before_ODBC-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Early_efforts" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Early_efforts"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>Early efforts</span> </div> </a> <ul id="toc-Early_efforts-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-SAG_and_CLI" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#SAG_and_CLI"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.3</span> <span>SAG and CLI</span> </div> </a> <ul id="toc-SAG_and_CLI-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-JET_and_ODBC" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#JET_and_ODBC"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.4</span> <span>JET and ODBC</span> </div> </a> <ul id="toc-JET_and_ODBC-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Release_and_continued_development" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Release_and_continued_development"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.5</span> <span>Release and continued development</span> </div> </a> <ul id="toc-Release_and_continued_development-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-ODBC_today" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#ODBC_today"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.6</span> <span>ODBC today</span> </div> </a> <ul id="toc-ODBC_today-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Version_history" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Version_history"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.7</span> <span>Version history</span> </div> </a> <ul id="toc-Version_history-sublist" class="vector-toc-list"> <li id="toc-ODBC_specifications" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#ODBC_specifications"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.7.1</span> <span>ODBC specifications</span> </div> </a> <ul id="toc-ODBC_specifications-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Desktop_Database_Drivers" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Desktop_Database_Drivers"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.7.2</span> <span>Desktop Database Drivers</span> </div> </a> <ul id="toc-Desktop_Database_Drivers-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> </ul> </li> <li id="toc-Drivers_and_Managers" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Drivers_and_Managers"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Drivers and Managers</span> </div> </a> <button aria-controls="toc-Drivers_and_Managers-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Drivers and Managers subsection</span> </button> <ul id="toc-Drivers_and_Managers-sublist" class="vector-toc-list"> <li id="toc-Drivers" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Drivers"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Drivers</span> </div> </a> <ul id="toc-Drivers-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Driver_Manager" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Driver_Manager"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>Driver Manager</span> </div> </a> <ul id="toc-Driver_Manager-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Bridging_configurations" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Bridging_configurations"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Bridging configurations</span> </div> </a> <button aria-controls="toc-Bridging_configurations-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Bridging configurations subsection</span> </button> <ul id="toc-Bridging_configurations-sublist" class="vector-toc-list"> <li id="toc-ODBC-to-JDBC_(ODBC-JDBC)_bridges" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#ODBC-to-JDBC_(ODBC-JDBC)_bridges"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>ODBC-to-JDBC (ODBC-JDBC) bridges</span> </div> </a> <ul id="toc-ODBC-to-JDBC_(ODBC-JDBC)_bridges-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-JDBC-to-ODBC_(JDBC-ODBC)_bridges" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#JDBC-to-ODBC_(JDBC-ODBC)_bridges"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span> <span>JDBC-to-ODBC (JDBC-ODBC) bridges</span> </div> </a> <ul id="toc-JDBC-to-ODBC_(JDBC-ODBC)_bridges-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-OLE_DB-to-ODBC_bridges" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#OLE_DB-to-ODBC_bridges"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.3</span> <span>OLE DB-to-ODBC bridges</span> </div> </a> <ul id="toc-OLE_DB-to-ODBC_bridges-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-ADO.NET-to-ODBC_bridges" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#ADO.NET-to-ODBC_bridges"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.4</span> <span>ADO.NET-to-ODBC bridges</span> </div> </a> <ul id="toc-ADO.NET-to-ODBC_bridges-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" title="Table of Contents" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Open Database Connectivity</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 28 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-28" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">28 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%A7%D8%AA%D8%B5%D8%A7%D9%84_%D9%82%D8%A7%D8%B9%D8%AF%D8%A9_%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA_%D8%A7%D9%84%D9%85%D9%81%D8%AA%D9%88%D8%AD%D8%A9" title="اتصال قاعدة البيانات المفتوحة – Arabic" lang="ar" hreflang="ar" data-title="اتصال قاعدة البيانات المفتوحة" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Open_Database_Connectivity" title="Open Database Connectivity – Catalan" lang="ca" hreflang="ca" data-title="Open Database Connectivity" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Open_Database_Connectivity" title="Open Database Connectivity – Czech" lang="cs" hreflang="cs" data-title="Open Database Connectivity" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Open_Database_Connectivity" title="Open Database Connectivity – German" lang="de" hreflang="de" data-title="Open Database Connectivity" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Open_Database_Connectivity" title="Open Database Connectivity – Spanish" lang="es" hreflang="es" data-title="Open Database Connectivity" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Open_Database_Connectivity" title="Open Database Connectivity – French" lang="fr" hreflang="fr" data-title="Open Database Connectivity" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/ODBC" title="ODBC – Korean" lang="ko" hreflang="ko" data-title="ODBC" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Open_Database_Connectivity" title="Open Database Connectivity – Indonesian" lang="id" hreflang="id" data-title="Open Database Connectivity" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Open_Database_Connectivity" title="Open Database Connectivity – Italian" lang="it" hreflang="it" data-title="Open Database Connectivity" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/ODBC" title="ODBC – Hebrew" lang="he" hreflang="he" data-title="ODBC" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/ODBC" title="ODBC – Latvian" lang="lv" hreflang="lv" data-title="ODBC" data-language-autonym="Latviešu" data-language-local-name="Latvian" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/ODBC" title="ODBC – Lithuanian" lang="lt" hreflang="lt" data-title="ODBC" data-language-autonym="Lietuvių" data-language-local-name="Lithuanian" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/ODBC" title="ODBC – Malay" lang="ms" hreflang="ms" data-title="ODBC" data-language-autonym="Bahasa Melayu" data-language-local-name="Malay" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Open_DataBase_Connectivity" title="Open DataBase Connectivity – Dutch" lang="nl" hreflang="nl" data-title="Open DataBase Connectivity" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/Open_Database_Connectivity" title="Open Database Connectivity – Japanese" lang="ja" hreflang="ja" data-title="Open Database Connectivity" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/ODBC" title="ODBC – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="ODBC" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-nn mw-list-item"><a href="https://nn.wikipedia.org/wiki/ODBC" title="ODBC – Norwegian Nynorsk" lang="nn" hreflang="nn" data-title="ODBC" data-language-autonym="Norsk nynorsk" data-language-local-name="Norwegian Nynorsk" class="interlanguage-link-target"><span>Norsk nynorsk</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/ODBC" title="ODBC – Polish" lang="pl" hreflang="pl" data-title="ODBC" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/ODBC" title="ODBC – Portuguese" lang="pt" hreflang="pt" data-title="ODBC" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/ODBC" title="ODBC – Russian" lang="ru" hreflang="ru" data-title="ODBC" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/Open_Database_Connectivity" title="Open Database Connectivity – Serbian" lang="sr" hreflang="sr" data-title="Open Database Connectivity" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/ODBC" title="ODBC – Finnish" lang="fi" hreflang="fi" data-title="ODBC" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Open_Database_Connectivity" title="Open Database Connectivity – Swedish" lang="sv" hreflang="sv" data-title="Open Database Connectivity" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1%E0%B8%95%E0%B9%88%E0%B8%AD%E0%B8%90%E0%B8%B2%E0%B8%99%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B8%B9%E0%B8%A5%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B9%80%E0%B8%9B%E0%B8%B4%E0%B8%94" title="การเชื่อมต่อฐานข้อมูลแบบเปิด – Thai" lang="th" hreflang="th" data-title="การเชื่อมต่อฐานข้อมูลแบบเปิด" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/ODBC" title="ODBC – Turkish" lang="tr" hreflang="tr" data-title="ODBC" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/ODBC" title="ODBC – Ukrainian" lang="uk" hreflang="uk" data-title="ODBC" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/ODBC" title="ODBC – Vietnamese" lang="vi" hreflang="vi" data-title="ODBC" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/ODBC" title="ODBC – Chinese" lang="zh" hreflang="zh" data-title="ODBC" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q212606#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Open_Database_Connectivity" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Open_Database_Connectivity" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Open_Database_Connectivity"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Open_Database_Connectivity"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Open_Database_Connectivity" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Open_Database_Connectivity" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Open_Database_Connectivity&amp;oldid=1282875236" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Open_Database_Connectivity&amp;id=1282875236&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FOpen_Database_Connectivity"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FOpen_Database_Connectivity"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Open_Database_Connectivity&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Open_Database_Connectivity&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Open_Database_Connectivity" hreflang="en"><span>Wikimedia Commons</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q212606" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"><span class="mw-redirectedfrom">(Redirected from <a href="/w/index.php?title=ODBC&amp;redirect=no" class="mw-redirect" title="ODBC">ODBC</a>)</span></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">ODBC, standard interface for accessing database systems</div> <p>In <a href="/wiki/Computing" title="Computing">computing</a>, <b>Open Database Connectivity</b> (<b>ODBC</b>) is a standard <a href="/wiki/Application_programming_interface" class="mw-redirect" title="Application programming interface">application programming interface</a> (API) for accessing <a href="/wiki/Database_management_system" class="mw-redirect" title="Database management system">database management systems</a> (DBMS). The designers of ODBC aimed to make it independent of database systems and <a href="/wiki/Operating_system" title="Operating system">operating systems</a>.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (April 2020)">citation needed</span></a></i>&#93;</sup> An application written using ODBC can be <a href="/wiki/Porting" title="Porting">ported</a> to other platforms, both on the client and server side, with few changes to the data access code. </p><p>ODBC accomplishes DBMS independence by using an <i>ODBC <a href="/wiki/Driver_(software)" title="Driver (software)">driver</a></i> as a translation layer between the application and the DBMS. The application uses ODBC functions through an <i>ODBC driver manager</i> with which it is linked, and the driver passes the <a href="/wiki/Query_language" title="Query language">query</a> to the DBMS. An ODBC driver can be thought of as analogous to a printer driver or other driver, providing a standard set of functions for the application to use, and implementing DBMS-specific functionality. An application that can use ODBC is referred to as "ODBC-compliant". Any ODBC-compliant application can access any DBMS for which a driver is installed. Drivers exist for all major DBMSs, many other data sources like <a href="/wiki/Address_book" title="Address book">address book</a> systems and <a href="/wiki/Microsoft_Excel" title="Microsoft Excel">Microsoft Excel</a>, and even for text or <a href="/wiki/Comma-separated_values" title="Comma-separated values">comma-separated values</a> (CSV) files. </p><p>ODBC was originally developed by <a href="/wiki/Microsoft" title="Microsoft">Microsoft</a> and <a href="/wiki/Simba_Technologies" title="Simba Technologies">Simba Technologies</a> during the early 1990s, and became the basis for the <a href="/wiki/Call_Level_Interface" title="Call Level Interface">Call Level Interface</a> (CLI) standardized by <a href="/wiki/SQL_Access_Group" title="SQL Access Group">SQL Access Group</a> in the <a href="/wiki/Unix" title="Unix">Unix</a> and <a href="/wiki/Mainframe_computer" title="Mainframe computer">mainframe</a> field. ODBC retained several features that were removed as part of the CLI effort. Full ODBC was later ported back to those platforms, and became a <a href="/wiki/De_facto_standard" title="De facto standard">de facto standard</a> considerably better known than CLI. The CLI remains similar to ODBC, and applications can be ported from one platform to the other with few changes. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="History">History</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=1" title="Edit section: History"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Before_ODBC">Before ODBC</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=2" title="Edit section: Before ODBC"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The introduction of the <a href="/wiki/Mainframe_computer" title="Mainframe computer">mainframe</a>-based <a href="/wiki/Relational_database" title="Relational database">relational database</a> during the 1970s led to a proliferation of data access methods. Generally these systems operated together with a simple command processor that allowed users to type in English-like commands, and receive output. The best-known examples are <a href="/wiki/SQL" title="SQL">SQL</a> from <a href="/wiki/IBM" title="IBM">IBM</a> and <a href="/wiki/QUEL_query_languages" title="QUEL query languages">QUEL</a> from the <a href="/wiki/Ingres_(database)" title="Ingres (database)">Ingres</a> project. These systems may or may not allow other applications to access the data directly, and those that did use a wide variety of methodologies. The introduction of <a href="/wiki/SQL" title="SQL">SQL</a> aimed to solve the problem of <i>language</i> standardization, although substantial differences in implementation remained. </p><p>Since the SQL language had only rudimentary programming features, users often wanted to use SQL within a program written in another language, say <a href="/wiki/Fortran" title="Fortran">Fortran</a> or <a href="/wiki/C_(programming_language)" title="C (programming language)">C</a>. This led to the concept of <a href="/wiki/Embedded_SQL" title="Embedded SQL">Embedded SQL</a>, which allowed <a href="/wiki/PostQUEL" class="mw-redirect" title="PostQUEL">SQL</a> code to be <i>embedded</i> within another language. For instance, a SQL statement like <code>SELECT * FROM city</code> could be inserted as text within C source code, and during <a href="/wiki/Compiler" title="Compiler">compiling</a> it would be converted into a custom format that directly called a function within a <a href="/wiki/Library_(computing)" title="Library (computing)">library</a> that would pass the statement into the SQL system. Results returned from the statements would be interpreted back into C data formats like <code>char *</code> using similar library code. </p><p>There were several problems with the Embedded SQL approach. Like the different varieties of SQL, the Embedded SQLs that used them varied widely, not only from platform to platform, but even across languages on one platform – a system that allowed calls into <a href="/wiki/IBM_Db2" title="IBM Db2">IBM Db2</a> would look very different from one that called into their own <a href="/wiki/IBM_SQL/DS" title="IBM SQL/DS">SQL/DS</a>.<sup class="noprint Inline-Template" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Accuracy_dispute#Disputed_statement" title="Wikipedia:Accuracy dispute"><span title="different, how? (February 2013)">dubious</span></a>&#32;&#8211; <a href="/wiki/Talk:Open_Database_Connectivity#Before-ODBC_section" title="Talk:Open Database Connectivity">discuss</a></i>&#93;</sup> Another key problem to the Embedded SQL concept was that the SQL code could only be changed in the program's source code, so that even small changes to the query required considerable programmer effort to modify. The SQL market referred to this as <i>static SQL</i>, versus <i>dynamic SQL</i> which could be changed at any time, like the <a href="/wiki/Command-line_interface" title="Command-line interface">command-line interfaces</a> that shipped with almost all SQL systems, or a programming interface that left the SQL as plain text until it was called. Dynamic SQL systems became a major focus for SQL vendors during the 1980s. </p><p>Older mainframe databases, and the newer <a href="/wiki/Microcomputer" title="Microcomputer">microcomputer</a> based systems that were based on them, generally did not have a SQL-like command processor between the user and the database engine. Instead, the data was accessed directly by the program – a programming library in the case of large mainframe systems, or a <a href="/wiki/Command_line_interface" class="mw-redirect" title="Command line interface">command line interface</a> or interactive forms system in the case of <a href="/wiki/DBASE" class="mw-redirect" title="DBASE">dBASE</a> and similar applications. Data from dBASE could not generally be accessed directly by other programs running on the machine. Those programs may be given a way to access this data, often through libraries, but it would not work with any other database engine, or even different databases in the same engine. In effect, all such systems were static, which presented considerable problems. </p> <div class="mw-heading mw-heading3"><h3 id="Early_efforts">Early efforts</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=3" title="Edit section: Early efforts"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>By the mid-1980s the rapid improvement in microcomputers, and especially the introduction of the <a href="/wiki/Graphical_user_interface" title="Graphical user interface">graphical user interface</a> and data-rich <a href="/wiki/Application_program" class="mw-redirect" title="Application program">application programs</a> like <a href="/wiki/Lotus_1-2-3" title="Lotus 1-2-3">Lotus 1-2-3</a> led to an increasing interest in using personal computers as the client-side platform of choice in <a href="/wiki/Client%E2%80%93server_model" title="Client–server model">client–server</a> computing. Under this model, large mainframes and <a href="/wiki/Minicomputer" title="Minicomputer">minicomputers</a> would be used primarily to serve up data over <a href="/wiki/Local_area_network" title="Local area network">local area networks</a> to microcomputers that would interpret, display and manipulate that data. For this model to work, a data access standard was a requirement – in the mainframe field it was highly likely that all of the computers in a shop were from one vendor and clients were <a href="/wiki/Computer_terminal" title="Computer terminal">computer terminals</a> talking directly to them, but in the micro field there was no such standardization and any client might access any server using any networking system. </p><p>By the late 1980s there were several efforts underway to provide an abstraction layer for this purpose. Some of these were mainframe related, designed to allow programs running on those machines to translate between the variety of SQL's and provide a single common interface which could then be called by other mainframe or microcomputer programs. These solutions included IBM's Distributed Relational Database Architecture (<a href="/wiki/DRDA" title="DRDA">DRDA</a>) and <a href="/wiki/Apple_Computer" class="mw-redirect" title="Apple Computer">Apple Computer</a>'s <a href="/wiki/Data_Access_Language" title="Data Access Language">Data Access Language</a>. Much more common, however, were systems that ran entirely on microcomputers, including a complete <a href="/wiki/Protocol_stack" title="Protocol stack">protocol stack</a> that included any required networking or file translation support. </p><p>One of the early examples of such a system was <a href="/wiki/Lotus_Development" class="mw-redirect" title="Lotus Development">Lotus Development</a>'s <a href="/wiki/Lotus_DataLens" title="Lotus DataLens">DataLens</a>, initially known as Blueprint. Blueprint, developed for 1-2-3, supported a variety of data sources, including SQL/DS, DB2, <a href="/wiki/FOCUS" title="FOCUS">FOCUS</a> and a variety of similar mainframe systems, as well as microcomputer systems like <a href="/wiki/DBase" title="DBase">dBase</a> and the early Microsoft/Ashton-Tate efforts that would eventually develop into <a href="/wiki/Microsoft_SQL_Server" title="Microsoft SQL Server">Microsoft SQL Server</a>.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup> Unlike the later ODBC, Blueprint was a purely code-based system, lacking anything approximating a command language like SQL. Instead, programmers used <a href="/wiki/Data_structure" title="Data structure">data structures</a> to store the query information, constructing a query by linking many of these structures together. Lotus referred to these compound structures as <i>query trees</i>.<sup id="cite_ref-FOOTNOTEGeiger199565_2-0" class="reference"><a href="#cite_note-FOOTNOTEGeiger199565-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> </p><p>Around the same time, an industry team including members from <a href="/wiki/Sybase" title="Sybase">Sybase</a> (Tom Haggin), <a href="/wiki/Tandem_Computers" title="Tandem Computers">Tandem Computers</a> (<a href="/wiki/Jim_Gray_(computer_scientist)" title="Jim Gray (computer scientist)">Jim Gray</a> &amp; Rao Yendluri) and Microsoft (Kyle Geiger) were working on a standardized dynamic SQL concept. Much of the system was based on Sybase's DB-Library system, with the Sybase-specific sections removed and several additions to support other platforms.<sup id="cite_ref-FOOTNOTEGeiger199586-87_3-0" class="reference"><a href="#cite_note-FOOTNOTEGeiger199586-87-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> DB-Library was aided by an industry-wide move from library systems that were tightly linked to a specific language, to library systems that were provided by the <a href="/wiki/Operating_system" title="Operating system">operating system</a> and required the languages on that platform to conform to its standards. This meant that a single library could be used with (potentially) any programming language on a given platform. </p><p>The first draft of the <i>Microsoft Data Access API</i> was published in April 1989, about the same time as Lotus' announcement of Blueprint.<sup id="cite_ref-FOOTNOTEGeiger199556_4-0" class="reference"><a href="#cite_note-FOOTNOTEGeiger199556-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> In spite of Blueprint's great lead – it was running when MSDA was still a paper project – Lotus eventually joined the MSDA efforts as it became clear that SQL would become the de facto database standard.<sup id="cite_ref-FOOTNOTEGeiger199565_2-1" class="reference"><a href="#cite_note-FOOTNOTEGeiger199565-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> After considerable industry input, in the summer of 1989 the standard became <i>SQL Connectivity</i> (<i>SQLC</i>).<sup id="cite_ref-FOOTNOTEGeiger1995106_5-0" class="reference"><a href="#cite_note-FOOTNOTEGeiger1995106-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="SAG_and_CLI">SAG and CLI</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=4" title="Edit section: SAG and CLI"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In 1988 several vendors, mostly from the <a href="/wiki/Unix" title="Unix">Unix</a> and database communities, formed the <a href="/wiki/SQL_Access_Group" title="SQL Access Group">SQL Access Group</a> (SAG) in an effort to produce a single basic standard for the SQL language. At the first meeting there was considerable debate over whether or not the effort should work solely on the SQL language itself, or attempt a wider standardization which included a dynamic SQL language-embedding system as well, what they called a <a href="/wiki/Call_Level_Interface" title="Call Level Interface">Call Level Interface</a> (CLI).<sup id="cite_ref-FOOTNOTEGeiger1995165_6-0" class="reference"><a href="#cite_note-FOOTNOTEGeiger1995165-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup> While attending the meeting with an early draft of what was then still known as MS Data Access, Kyle Geiger of Microsoft invited Jeff Balboni and Larry Barnes of <a href="/wiki/Digital_Equipment_Corporation" title="Digital Equipment Corporation">Digital Equipment Corporation</a> (DEC) to join the SQLC meetings as well. SQLC was a potential solution to the call for the CLI, which was being led by DEC. </p><p>The new SQLC "gang of four", MS, Tandem, DEC and Sybase, brought an updated version of SQLC to the next SAG meeting in June 1990.<sup id="cite_ref-FOOTNOTEGeiger1995186-187_7-0" class="reference"><a href="#cite_note-FOOTNOTEGeiger1995186-187-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup> The SAG responded by opening the standard effort to any competing design, but of the many proposals, only <a href="/wiki/Oracle_Corp" class="mw-redirect" title="Oracle Corp">Oracle Corp</a> had a system that presented serious competition. In the end, SQLC won the votes and became the draft standard, but only after large portions of the API were removed – the standards document was trimmed from 120 pages to 50 during this time. It was also during this period that the name Call Level Interface was formally adopted.<sup id="cite_ref-FOOTNOTEGeiger1995186-187_7-1" class="reference"><a href="#cite_note-FOOTNOTEGeiger1995186-187-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup> In 1995 SQL/CLI became part of the international SQL standard, ISO/IEC 9075-3.<sup id="cite_ref-ISO/IEC_9075-3_8-0" class="reference"><a href="#cite_note-ISO/IEC_9075-3-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> The SAG itself was taken over by the <a href="/wiki/X/Open" title="X/Open">X/Open</a> group in 1996, and, over time, became part of <a href="/wiki/The_Open_Group" title="The Open Group">The Open Group</a>'s <a href="/wiki/Common_Application_Environment" class="mw-redirect" title="Common Application Environment">Common Application Environment</a>. </p><p>MS continued working with the original SQLC standard, retaining many of the advanced features that were removed from the CLI version. These included features like <a href="/wiki/Cursor_(databases)#Scrollable_cursors" title="Cursor (databases)">scrollable cursors</a>, and <a href="/wiki/Metadata" title="Metadata">metadata</a> information queries. The commands in the API were split into groups; the Core group was identical to the CLI, the Level 1 extensions were commands that would be easy to implement in drivers, while Level 2 commands contained the more advanced features like cursors. A proposed standard was released in December 1991, and industry input was gathered and worked into the system through 1992, resulting in yet another name change to <i>ODBC</i>.<sup id="cite_ref-FOOTNOTEGeiger1995203_9-0" class="reference"><a href="#cite_note-FOOTNOTEGeiger1995203-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="JET_and_ODBC">JET and ODBC</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=5" title="Edit section: JET and ODBC"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>During this time, Microsoft was in the midst of developing their <a href="/wiki/Jet_Database_Engine" class="mw-redirect" title="Jet Database Engine">Jet database system</a>. Jet combined three primary subsystems; an <a href="/wiki/ISAM" title="ISAM">ISAM</a>-based database engine (also named <i>Jet</i>, confusingly), a C-based interface allowing applications to access that data, and a selection of driver <a href="/wiki/Dynamic-Link_Libraries" class="mw-redirect" title="Dynamic-Link Libraries">dynamic-link libraries</a> (DLL) that allowed the same C interface to redirect input and output to other ISAM-based databases, like <a href="/wiki/Paradox_(database)" title="Paradox (database)">Paradox</a> and <a href="/wiki/XBase" title="XBase">xBase</a>. Jet allowed using one set of calls to access common microcomputer databases in a fashion similar to Blueprint, by then renamed DataLens. However, Jet did not use SQL; like DataLens, the interface was in C and consisted of <a href="/wiki/Data_structure" title="Data structure">data structures</a> and function calls. </p><p>The SAG standardization efforts presented an opportunity for Microsoft to adapt their Jet system to the new CLI standard. This would not only make Windows a premier platform for CLI development, but also allow users to use SQL to access both Jet and other databases as well. What was missing was the SQL parser that could convert those calls from their text form into the C-interface used in Jet. To solve this, MS partnered with <a href="/wiki/PageAhead_Software" class="mw-redirect" title="PageAhead Software">PageAhead Software</a> to use their existing query processor, SIMBA. SIMBA was used as a parser above Jet's C library, turning Jet into an SQL database. And because Jet could forward those C-based calls to other databases, this also allowed SIMBA to query other systems. Microsoft included drivers for Excel to turn its spreadsheet documents into SQL-accessible database tables.<sup id="cite_ref-simba_10-0" class="reference"><a href="#cite_note-simba-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Release_and_continued_development">Release and continued development</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=6" title="Edit section: Release and continued development"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>ODBC 1.0 was released in September 1992.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> At the time, there was little direct support for SQL databases (versus ISAM), and early drivers were noted for poor performance. Some of this was unavoidable due to the path that the calls took through the Jet-based stack; ODBC calls to SQL databases were first converted from <a href="/wiki/Simba_Technologies" title="Simba Technologies">Simba Technologies</a>'s SQL dialect to Jet's internal C-based format, then passed to a driver for conversion back into SQL calls for the database. <a href="/wiki/Digital_Equipment" class="mw-redirect" title="Digital Equipment">Digital Equipment</a> and <a href="/wiki/Oracle_Corporation" title="Oracle Corporation">Oracle</a> both contracted <a href="/wiki/Simba_Technologies" title="Simba Technologies">Simba Technologies</a> to develop drivers for their databases as well.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup> </p><p>Circa 1993, OpenLink Software shipped one of the first independently developed third-party ODBC drivers, for the <a href="/wiki/Progress_DBMS" class="mw-redirect" title="Progress DBMS">PROGRESS DBMS</a>,<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup> and soon followed with their UDBC (a cross-platform API equivalent of ODBC and the SAG/CLI) SDK and associated drivers for <a href="/wiki/Progress_Software" title="Progress Software">PROGRESS</a>, Sybase, Oracle, and other DBMS, for use on Unix-like OS (<a href="/wiki/AIX" class="mw-redirect" title="AIX">AIX</a>, <a href="/wiki/HP-UX" title="HP-UX">HP-UX</a>, <a href="/wiki/Solaris_(operating_system)" class="mw-redirect" title="Solaris (operating system)">Solaris</a>, <a href="/wiki/Linux" title="Linux">Linux</a>, etc.), <a href="/wiki/OpenVMS" title="OpenVMS">VMS</a>, <a href="/wiki/Windows_NT" title="Windows NT">Windows NT</a>, <a href="/wiki/OS/2" title="OS/2">OS/2</a>, and other OS.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup> </p><p>Meanwhile, the CLI standard effort dragged on, and it was not until March 1995 that the definitive version was finalized. By then, Microsoft had already granted <a href="/w/index.php?title=Visigenic_Software&amp;action=edit&amp;redlink=1" class="new" title="Visigenic Software (page does not exist)">Visigenic Software</a> a <a href="/wiki/Source_code" title="Source code">source code</a> license to develop ODBC on non-Windows platforms. Visigenic ported ODBC to the <a href="/wiki/Classic_Mac_OS" title="Classic Mac OS">classic Mac OS</a>, and a wide variety of Unix platforms, where ODBC quickly became the de facto standard.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup> "Real" CLI is rare today. The two systems remain similar, and many applications can be ported from ODBC to CLI with few or no changes.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup> </p><p>Over time, database vendors took over the driver interfaces and provided direct links to their products. Skipping the intermediate conversions to and from Jet or similar wrappers often resulted in higher performance. However, by then Microsoft had changed focus to their <a href="/wiki/OLE_DB" title="OLE DB">OLE DB</a><sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup> concept (recently reinstated <sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup>), which provided direct access to a wider variety of data sources from <a href="/wiki/Address_book" title="Address book">address books</a> to text files. Several new systems followed which further turned their attention from ODBC, including <a href="/wiki/ActiveX_Data_Objects" title="ActiveX Data Objects">ActiveX Data Objects</a> (ADO) and <a href="/wiki/ADO.net" class="mw-redirect" title="ADO.net">ADO.net</a>, which interacted more or less with ODBC over their lifetimes. </p><p>As Microsoft turned its attention away from working directly on ODBC, the Unix field was increasingly embracing it. This was propelled by two changes within the market, the introduction of <a href="/wiki/Graphical_user_interface" title="Graphical user interface">graphical user interfaces</a> (GUIs) like <a href="/wiki/GNOME" title="GNOME">GNOME</a> that provided a need to access these sources in non-text form, and the emergence of <a href="/wiki/Open_software" class="mw-redirect" title="Open software">open software</a> database systems like <a href="/wiki/PostgreSQL" title="PostgreSQL">PostgreSQL</a> and <a href="/wiki/MySQL" title="MySQL">MySQL</a>, initially under Unix. The later adoption of ODBC by Apple for using the standard Unix-side <a href="/wiki/IODBC" title="IODBC">iODBC</a> package <a href="/wiki/Mac_OS_X_10.2" class="mw-redirect" title="Mac OS X 10.2">Mac OS X 10.2</a> (Jaguar)<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup> (which OpenLink Software had been independently providing for Mac OS X 10.0 and even Mac OS 9 since 2001<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">&#91;</span>20<span class="cite-bracket">&#93;</span></a></sup>) further cemented ODBC as the standard for cross-platform data access. </p><p><a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> used the ODBC system as the basis for their own open standard, <a href="/wiki/Java_Database_Connectivity" title="Java Database Connectivity">Java Database Connectivity</a> (JDBC). In most ways, JDBC can be considered a version of ODBC for the programming language <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a> instead of <a href="/wiki/C_(programming_language)" title="C (programming language)">C</a>. JDBC-to-ODBC <i>bridges</i> allow Java-based programs to access data sources through ODBC drivers on platforms lacking a native JDBC driver, although these are now relatively rare. Inversely, ODBC-to-JDBC bridges allow C-based programs to access data sources through JDBC drivers on platforms or from databases lacking suitable ODBC drivers. </p> <div class="mw-heading mw-heading3"><h3 id="ODBC_today">ODBC today</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=7" title="Edit section: ODBC today"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>ODBC remains in wide use today, with drivers available for most platforms and most databases. It is not uncommon to find ODBC drivers for database engines that are meant to be embedded, like <a href="/wiki/SQLite" title="SQLite">SQLite</a>, as a way to allow existing tools to act as front-ends to these engines for testing and debugging.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">&#91;</span>21<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Version_history">Version history</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=8" title="Edit section: Version history"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading4"><h4 id="ODBC_specifications">ODBC specifications</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=9" title="Edit section: ODBC specifications"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Source:<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup> </p> <ul><li>1.0: released in September 1992<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup></li> <li>2.0: <abbr title="circa">c.</abbr> 1994</li> <li>2.5</li> <li>3.0: <abbr title="circa">c.</abbr> 1995, John Goodson of Intersolv and Frank Pellow and Paul Cotton of IBM provided significant input to ODBC 3.0<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">&#91;</span>24<span class="cite-bracket">&#93;</span></a></sup></li> <li>3.5: <abbr title="circa">c.</abbr> 1997</li> <li>3.8: <abbr title="circa">c.</abbr> 2009, with Windows 7<sup id="cite_ref-What&#39;s_New_in_ODBC_3.8_25-0" class="reference"><a href="#cite_note-What&#39;s_New_in_ODBC_3.8-25"><span class="cite-bracket">&#91;</span>25<span class="cite-bracket">&#93;</span></a></sup></li> <li>4.0: Development announced June 2016<sup id="cite_ref-MSDA_blog_2016-06-07_26-0" class="reference"><a href="#cite_note-MSDA_blog_2016-06-07-26"><span class="cite-bracket">&#91;</span>26<span class="cite-bracket">&#93;</span></a></sup> with first implementation with SQL Server 2017 released Sep 2017 and additional desktop drivers late 2018 <a rel="nofollow" class="external text" href="https://github.com/Microsoft/ODBC-Specification">final spec on Github</a></li></ul> <div class="mw-heading mw-heading4"><h4 id="Desktop_Database_Drivers">Desktop Database Drivers</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=10" title="Edit section: Desktop Database Drivers"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Source:<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">&#91;</span>27<span class="cite-bracket">&#93;</span></a></sup> </p> <ul><li>1.0 (1993–08): Used the SIMBA query processor produced by PageAhead Software.</li> <li>2.0 (1994–12): Used with ODBC 2.0.</li> <li>3.0 (1995–10): Supports Windows 95 and Windows NT Workstation or NT Server 3.51. Only 32-bit drivers were included in this release.</li> <li>3.5 (1996–10): Supports double-byte character set (DBCS), and accommodated the use of File data source names (DSNs). The Microsoft Access driver was released in an RISC version for use on Alpha platforms for Windows 95/98 and Windows NT 3.51 and later operating systems.</li> <li>4.0 (late 1998): Support Microsoft Jet Engine Unicode format along with compatibility for ANSI format of earlier versions.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Drivers_and_Managers">Drivers and Managers</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=11" title="Edit section: Drivers and Managers"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Drivers">Drivers</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=12" title="Edit section: Drivers"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>ODBC is based on the <a href="/wiki/Device_driver" title="Device driver">device driver</a> model, where the driver encapsulates the logic needed to convert a standard set of commands and functions into the specific calls required by the underlying system. For instance, a <a href="/wiki/Printer_driver" title="Printer driver">printer driver</a> presents a standard set of printing commands, the API, to applications using the printing system. Calls made to those APIs are converted by the driver into the format used by the actual hardware, say <a href="/wiki/PostScript" title="PostScript">PostScript</a> or <a href="/wiki/Printer_Command_Language" title="Printer Command Language">PCL</a>. </p><p>In the case of ODBC, the drivers encapsulate many functions that can be broken down into several broad categories. One set of functions is primarily concerned with finding, connecting to and disconnecting from the DBMS that driver talks to. A second set is used to send SQL commands from the ODBC system to the DBMS, converting or interpreting any commands that are not supported internally. For instance, a DBMS that does not support <a href="/wiki/Cursor_(databases)" title="Cursor (databases)">cursors</a> can emulate this functionality in the driver. Finally, another set of commands, mostly used internally, is used to convert data from the DBMS's internal formats to a set of standardized ODBC formats, which are based on the C language formats. </p><p>An ODBC driver enables an ODBC-compliant application to use a <i>data source</i>, normally a DBMS. Some non-DBMS drivers exist, for such data sources as <a href="/wiki/Comma-separated_values" title="Comma-separated values">CSV</a> files, by implementing a small DBMS inside the driver itself. ODBC drivers exist for most DBMSs, including <a href="/wiki/Oracle_database" class="mw-redirect" title="Oracle database">Oracle</a>, <a href="/wiki/PostgreSQL" title="PostgreSQL">PostgreSQL</a>, <a href="/wiki/MySQL" title="MySQL">MySQL</a>, <a href="/wiki/Microsoft_SQL_Server" title="Microsoft SQL Server">Microsoft SQL Server</a> (but not for the <a href="/wiki/SQL_Server_Compact" title="SQL Server Compact">Compact aka CE edition</a>), <a href="/wiki/Mimer_SQL" title="Mimer SQL">Mimer SQL</a>, <a href="/wiki/Adaptive_Server_Enterprise" title="Adaptive Server Enterprise">Sybase ASE</a>, <a href="/wiki/SAP_HANA" title="SAP HANA">SAP HANA</a><sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">&#91;</span>28<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">&#91;</span>29<span class="cite-bracket">&#93;</span></a></sup> and <a href="/wiki/IBM_Db2" title="IBM Db2">IBM Db2</a>. Because different technologies have different capabilities, most ODBC drivers do not implement all functionality defined in the ODBC standard. Some drivers offer extra functionality not defined by the standard. </p> <div class="mw-heading mw-heading3"><h3 id="Driver_Manager">Driver Manager</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=13" title="Edit section: Driver Manager"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Device drivers are normally enumerated, set up and managed by a separate Manager layer, which may provide additional functionality. For instance, printing systems often include functionality to provide <a href="/wiki/Spooling" title="Spooling">spooling</a> functionality on top of the drivers, providing print spooling for any supported printer. </p><p>In ODBC the Driver Manager (DM) provides these features.<sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">&#91;</span>30<span class="cite-bracket">&#93;</span></a></sup> The DM can enumerate the installed drivers and present this as a list, often in a GUI-based form. </p><p>But more important to the operation of the ODBC system is the DM's concept of a <i>Data Source Name</i> (DSN). DSNs collect additional information needed to connect to a <i>specific</i> data source, versus the DBMS itself. For instance, the same <a href="/wiki/MySQL" title="MySQL">MySQL</a> driver can be used to connect to any MySQL server, but the connection information to connect to a local private server is different from the information needed to connect to an internet-hosted public server. The DSN stores this information in a standardized format, and the DM provides this to the driver during connection requests. The DM also includes functionality to present a list of DSNs using human readable names, and to select them at run-time to connect to different resources. </p><p>The DM also includes the ability to save partially complete DSN's, with code and logic to ask the user for any missing information at runtime. For instance, a DSN can be created without a required password. When an ODBC application attempts to connect to the DBMS using this DSN, the system will pause and ask the user to provide the password before continuing. This frees the application developer from having to create this sort of code, as well as having to know which questions to ask. All of this is included in the driver and the DSNs. </p> <div class="mw-heading mw-heading2"><h2 id="Bridging_configurations">Bridging configurations</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=14" title="Edit section: Bridging configurations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A <i>bridge</i> is a special kind of driver: a driver that uses another driver-based technology. </p> <div class="mw-heading mw-heading3"><h3 id="ODBC-to-JDBC_(ODBC-JDBC)_bridges"><span id="ODBC-to-JDBC_.28ODBC-JDBC.29_bridges"></span>ODBC-to-JDBC (ODBC-JDBC) bridges</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=15" title="Edit section: ODBC-to-JDBC (ODBC-JDBC) bridges"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>An ODBC-JDBC bridge consists of an <i>ODBC</i> driver which uses the services of a <a href="/wiki/JDBC_type_1_driver" class="mw-redirect" title="JDBC type 1 driver">JDBC driver</a> to connect to a database. This driver translates ODBC function-calls into JDBC method-calls. Programmers usually use such a bridge when they lack an ODBC driver for some database but have access to a JDBC driver. Examples: <a rel="nofollow" class="external text" href="https://uda.openlinksw.com/odbc-jdbc-st/">OpenLink ODBC-JDBC Bridge</a>, <a rel="nofollow" class="external text" href="https://www.progress.com/odbc/sequelink">SequeLink ODBC-JDBC Bridge</a>. </p> <div class="mw-heading mw-heading3"><h3 id="JDBC-to-ODBC_(JDBC-ODBC)_bridges"><span id="JDBC-to-ODBC_.28JDBC-ODBC.29_bridges"></span>JDBC-to-ODBC (JDBC-ODBC) bridges</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=16" title="Edit section: JDBC-to-ODBC (JDBC-ODBC) bridges"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A JDBC-ODBC bridge consists of a <a href="/wiki/JDBC_driver" title="JDBC driver">JDBC driver</a> which employs an ODBC driver to connect to a target database. This driver translates JDBC <a href="/wiki/Method_(computer_science)" class="mw-redirect" title="Method (computer science)">method</a> calls into ODBC function calls. Programmers usually use such a bridge when a given database lacks a JDBC driver, but is accessible through an ODBC driver. <a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> included one such bridge in the <a href="/wiki/JVM" class="mw-redirect" title="JVM">JVM</a>, but viewed it as a stop-gap measure while few JDBC drivers existed (The built-in JDBC-ODBC bridge was dropped from the JVM in Java 8<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">&#91;</span>31<span class="cite-bracket">&#93;</span></a></sup>). Sun never intended its bridge for production environments, and generally recommended against its use. As of 2008<sup class="plainlinks noexcerpt noprint asof-tag update" style="display:none;"><a class="external text" href="https://en.wikipedia.org/w/index.php?title=Open_Database_Connectivity&amp;action=edit">&#91;update&#93;</a></sup> independent data-access vendors deliver JDBC-ODBC bridges which support current standards for both mechanisms, and which far outperform the JVM built-in.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (July 2008)">citation needed</span></a></i>&#93;</sup> Examples: <a rel="nofollow" class="external text" href="https://uda.openlinksw.com/jdbc-odbc-st/">OpenLink JDBC-ODBC Bridge</a>, <a rel="nofollow" class="external text" href="https://www.progress.com/jdbc/sequelink">SequeLink JDBC-ODBC Bridge</a>, <a rel="nofollow" class="external text" href="https://zappysys.com/products/odbc-powerpack/odbc-jdbc-bridge-driver/">ZappySys JDBC-ODBC Bridge</a>. </p> <div class="mw-heading mw-heading3"><h3 id="OLE_DB-to-ODBC_bridges">OLE DB-to-ODBC bridges</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=17" title="Edit section: OLE DB-to-ODBC bridges"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>An OLE DB-ODBC bridge consists of an <a href="/wiki/OLE_DB" title="OLE DB">OLE DB</a> Provider which uses the services of an ODBC driver to connect to a target database. This provider translates OLE DB <a href="/wiki/Method_(computer_science)" class="mw-redirect" title="Method (computer science)">method</a> calls into ODBC function calls. Programmers usually use such a bridge when a given database lacks an OLE DB provider, but is accessible through an ODBC driver. Microsoft ships one, MSDASQL.DLL, as part of the <a href="/wiki/Microsoft_Data_Access_Components" title="Microsoft Data Access Components">MDAC</a> <a href="/w/index.php?title=System_component_bundle&amp;action=edit&amp;redlink=1" class="new" title="System component bundle (page does not exist)">system component bundle</a>, together with other database drivers, to simplify development in COM-aware languages (e.g. <a href="/wiki/Visual_Basic" title="Visual Basic">Visual Basic</a>). Third parties have also developed such, notably OpenLink Software whose 64-bit OLE DB Provider for ODBC Data Sources filled the gap when Microsoft initially deprecated this bridge for their 64-bit OS.<sup id="cite_ref-msdasql_32-0" class="reference"><a href="#cite_note-msdasql-32"><span class="cite-bracket">&#91;</span>32<span class="cite-bracket">&#93;</span></a></sup> (Microsoft later relented, and 64-bit Windows starting with <a href="/wiki/Windows_Server_2008" title="Windows Server 2008">Windows Server 2008</a> and <a href="/wiki/Windows_Vista_SP1" class="mw-redirect" title="Windows Vista SP1">Windows Vista SP1</a> have shipped with a 64-bit version of MSDASQL.) Examples: <a rel="nofollow" class="external text" href="https://uda.openlinksw.com/oledb-odbc-st/">OpenLink OLEDB-ODBC Bridge</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170327081146/https://uda.openlinksw.com/oledb-odbc-st/">Archived</a> 2017-03-27 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>, <a rel="nofollow" class="external text" href="https://www.progress.com/oledb/sequelink">SequeLink OLEDB-ODBC Bridge</a>. </p> <div class="mw-heading mw-heading3"><h3 id="ADO.NET-to-ODBC_bridges">ADO.NET-to-ODBC bridges</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=18" title="Edit section: ADO.NET-to-ODBC bridges"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>An ADO.NET-ODBC bridge consists of an <a href="/wiki/ADO.NET_data_provider" class="mw-redirect" title="ADO.NET data provider">ADO.NET Provider</a> which uses the services of an ODBC driver to connect to a target database. This provider translates ADO.NET <a href="/wiki/Method_(computer_science)" class="mw-redirect" title="Method (computer science)">method</a> calls into ODBC function calls. Programmers usually use such a bridge when a given database lacks an ADO.NET provider, but is accessible through an ODBC driver. Microsoft ships one as part of the <a href="/wiki/Microsoft_Data_Access_Components" title="Microsoft Data Access Components">MDAC</a> <a href="/w/index.php?title=System_component_bundle&amp;action=edit&amp;redlink=1" class="new" title="System component bundle (page does not exist)">system component bundle</a>, together with other database drivers, to simplify development in <a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>. Third parties have also developed such. Examples: <a rel="nofollow" class="external text" href="https://uda.openlinksw.com/dotnet-odbc-st/">OpenLink ADO.NET-ODBC Bridge</a>, <a rel="nofollow" class="external text" href="https://www.progress.com/net/sequelink">SequeLink ADO.NET-ODBC Bridge</a>. </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=19" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/GNU_Data_Access" class="mw-redirect" title="GNU Data Access">GNU Data Access</a></li> <li><a href="/wiki/Java_Database_Connectivity" title="Java Database Connectivity">Java Database Connectivity</a> (JDBC)</li> <li><a href="/wiki/Windows_Open_Services_Architecture" title="Windows Open Services Architecture">Windows Open Services Architecture</a></li> <li><a href="/wiki/ODBC_Administrator" class="mw-redirect" title="ODBC Administrator">ODBC Administrator</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=20" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <dl><dt>Bibliography</dt></dl> <style data-mw-deduplicate="TemplateStyles:r1239549316">.mw-parser-output .refbegin{margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li{margin-left:0;padding-left:3.2em;text-indent:-3.2em}.mw-parser-output .refbegin-hanging-indents ul,.mw-parser-output .refbegin-hanging-indents ul li{list-style:none}@media(max-width:720px){.mw-parser-output .refbegin-hanging-indents>ul>li{padding-left:1.6em;text-indent:-1.6em}}.mw-parser-output .refbegin-columns{margin-top:0.3em}.mw-parser-output .refbegin-columns ul{margin-top:0}.mw-parser-output .refbegin-columns li{page-break-inside:avoid;break-inside:avoid-column}@media screen{.mw-parser-output .refbegin{font-size:90%}}</style><div class="refbegin" style=""> <ul><li><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFGeiger1995" class="citation book cs1">Geiger, Kyle (1995). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=G-ZQAAAAMAAJ"><i>Inside ODBC</i></a>. Microsoft Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781556158155" title="Special:BookSources/9781556158155"><bdi>9781556158155</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Inside+ODBC&amp;rft.pub=Microsoft+Press&amp;rft.date=1995&amp;rft.isbn=9781556158155&amp;rft.aulast=Geiger&amp;rft.aufirst=Kyle&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DG-ZQAAAAMAAJ&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></li></ul> </div> <dl><dt>Citations</dt></dl> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text">McGlinn, Evan (1988), <a rel="nofollow" class="external text" href="https://books.google.com/books?id=6D4EAAAAMBAJ">Blueprint Lets 1-2-3 Access Outside Data"</a>, <i>InfoWorld</i>, vol. 10, no. 14, 4 April 1988, pp. 1, 69</span> </li> <li id="cite_note-FOOTNOTEGeiger199565-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEGeiger199565_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEGeiger199565_2-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFGeiger1995">Geiger 1995</a>, p.&#160;65.</span> </li> <li id="cite_note-FOOTNOTEGeiger199586-87-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEGeiger199586-87_3-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFGeiger1995">Geiger 1995</a>, p.&#160;86-87.</span> </li> <li id="cite_note-FOOTNOTEGeiger199556-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEGeiger199556_4-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFGeiger1995">Geiger 1995</a>, p.&#160;56.</span> </li> <li id="cite_note-FOOTNOTEGeiger1995106-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEGeiger1995106_5-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFGeiger1995">Geiger 1995</a>, p.&#160;106.</span> </li> <li id="cite_note-FOOTNOTEGeiger1995165-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEGeiger1995165_6-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFGeiger1995">Geiger 1995</a>, p.&#160;165.</span> </li> <li id="cite_note-FOOTNOTEGeiger1995186-187-7"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEGeiger1995186-187_7-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEGeiger1995186-187_7-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFGeiger1995">Geiger 1995</a>, p.&#160;186-187.</span> </li> <li id="cite_note-ISO/IEC_9075-3-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-ISO/IEC_9075-3_8-0">^</a></b></span> <span class="reference-text">ISO/IEC 9075-3 – Information technology – Database languages – SQL – Part 3: Call-Level Interface (SQL/CLI)</span> </li> <li id="cite_note-FOOTNOTEGeiger1995203-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEGeiger1995203_9-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFGeiger1995">Geiger 1995</a>, p.&#160;203.</span> </li> <li id="cite_note-simba-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-simba_10-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFHarindranathJože_Zupančič2001" class="citation book cs1">Harindranath, G; Jože Zupančič (2001). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=O8Loa-c0TyoC"><i>New perspectives on information systems development: theory, methods, and practice</i></a>. Springer. p.&#160;451. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-306-47251-0" title="Special:BookSources/978-0-306-47251-0"><bdi>978-0-306-47251-0</bdi></a><span class="reference-accessdate">. Retrieved <span class="nowrap">2010-07-28</span></span>. <q>The first ODBC drivers […] used the SIMBA query processor, which translated calls into the Microsoft Jet ISAM calls, and dispatched the calls to the appropriate ISAM driver to access the backend […]</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=New+perspectives+on+information+systems+development%3A+theory%2C+methods%2C+and+practice&amp;rft.pages=451&amp;rft.pub=Springer&amp;rft.date=2001&amp;rft.isbn=978-0-306-47251-0&amp;rft.aulast=Harindranath&amp;rft.aufirst=G&amp;rft.au=Jo%C5%BEe+Zupan%C4%8Di%C4%8D&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DO8Loa-c0TyoC&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.easysoft.com/developer/interfaces/odbc/linux.html#what_is_odbc">"Linux/UNIX ODBC – What is ODBC?"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Linux%2FUNIX+ODBC+%E2%80%93+What+is+ODBC%3F&amp;rft_id=http%3A%2F%2Fwww.easysoft.com%2Fdeveloper%2Finterfaces%2Fodbc%2Flinux.html%23what_is_odbc&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.simba.com/simba-history.htm">"Our History"</a>, Simba Technologies</span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFIdehen1994" class="citation web cs1">Idehen, Kingsley Uyi (October 1994). <a rel="nofollow" class="external text" href="https://groups.google.com/d/msg/comp.databases/ZDdiftnvkj4/AK0K2M0a0WoJ">"ODBC and progress V7.2d"</a>. <i>Usenet Newsgroup comp.databases</i><span class="reference-accessdate">. Retrieved <span class="nowrap">13 December</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Usenet+Newsgroup+comp.databases&amp;rft.atitle=ODBC+and+progress+V7.2d&amp;rft.date=1994-10&amp;rft.aulast=Idehen&amp;rft.aufirst=Kingsley+Uyi&amp;rft_id=https%3A%2F%2Fgroups.google.com%2Fd%2Fmsg%2Fcomp.databases%2FZDdiftnvkj4%2FAK0K2M0a0WoJ&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFIdehen1995" class="citation web cs1">Idehen, Kingsley Uyi (1995-07-18). <a rel="nofollow" class="external text" href="https://groups.google.com/d/msg/comp.databases.oracle/HSHhNjjBgf4/47PGF35h93AJ">"Need ODBC/Ingres driver for DEC OSF/1"</a>. <i>Usenet Newsgroup comp.databases.oracle</i><span class="reference-accessdate">. Retrieved <span class="nowrap">13 December</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Usenet+Newsgroup+comp.databases.oracle&amp;rft.atitle=Need+ODBC%2FIngres+driver+for+DEC+OSF%2F1&amp;rft.date=1995-07-18&amp;rft.aulast=Idehen&amp;rft.aufirst=Kingsley+Uyi&amp;rft_id=https%3A%2F%2Fgroups.google.com%2Fd%2Fmsg%2Fcomp.databases.oracle%2FHSHhNjjBgf4%2F47PGF35h93AJ&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text">Sippl, Roger (1996) <a rel="nofollow" class="external text" href="http://www.drdobbs.com/sql-access-groups-call-level-interface/184410032">"SQL Access Group's Call-Level Interface"</a>, Dr. Dobbs, 1 February 1996</span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://publib.boulder.ibm.com/infocenter/iisclzos/v9r5/index.jsp?topic=/com.ibm.swg.im.iis.fed.classic.clientsref.doc/topics/iiyfcodbcclisimdiff.html">"Similarities and differences between ODBC and CLI"</a>, InfoSphere Classic documentation, IBM, 26 September 2008</span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://hal2020.com/2011/09/25/ole-db-and-sql-server-history-end-game-and-some-microsoft-dirt/">"OLE DB and SQL Server: History, End-Game, and some Microsoft "dirt"<span class="cs1-kern-right"></span>"</a>. 25 September 2011.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=OLE+DB+and+SQL+Server%3A+History%2C+End-Game%2C+and+some+Microsoft+%22dirt%22&amp;rft.date=2011-09-25&amp;rft_id=http%3A%2F%2Fhal2020.com%2F2011%2F09%2F25%2Fole-db-and-sql-server-history-end-game-and-some-microsoft-dirt%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://blogs.msdn.microsoft.com/sqlnativeclient/2017/10/06/announcing-the-new-release-of-ole-db-driver-for-sql-server/">"Announcing the new release of OLE DB Driver for SQL Server"</a>. 6 October 2017.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Announcing+the+new+release+of+OLE+DB+Driver+for+SQL+Server&amp;rft.date=2017-10-06&amp;rft_id=https%3A%2F%2Fblogs.msdn.microsoft.com%2Fsqlnativeclient%2F2017%2F10%2F06%2Fannouncing-the-new-release-of-ole-db-driver-for-sql-server%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFAnderson2003" class="citation web cs1">Anderson, Andrew (2003-06-20). <a rel="nofollow" class="external text" href="http://oreilly.com/pub/a/mac/2003/06/20/odbc.html">"Open Database Connectivity in Jaguar"</a>. <i>O'Reilly MacDevCenter.com</i>. O'Reilly Media, Inc<span class="reference-accessdate">. Retrieved <span class="nowrap">13 December</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=O%27Reilly+MacDevCenter.com&amp;rft.atitle=Open+Database+Connectivity+in+Jaguar&amp;rft.date=2003-06-20&amp;rft.aulast=Anderson&amp;rft.aufirst=Andrew&amp;rft_id=http%3A%2F%2Foreilly.com%2Fpub%2Fa%2Fmac%2F2003%2F06%2F20%2Fodbc.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFSellers2001" class="citation web cs1">Sellers, Dennis (2001-07-17). <a rel="nofollow" class="external text" href="http://www.macworld.com/article/1018465/odbc.html">"ODBC SDK update out for Mac OS Classic, Mac OS X"</a>. <i>MacWorld</i>. IDG Consumer &amp; SMB<span class="reference-accessdate">. Retrieved <span class="nowrap">13 December</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=MacWorld&amp;rft.atitle=ODBC+SDK+update+out+for+Mac+OS+Classic%2C+Mac+OS+X&amp;rft.date=2001-07-17&amp;rft.aulast=Sellers&amp;rft.aufirst=Dennis&amp;rft_id=http%3A%2F%2Fwww.macworld.com%2Farticle%2F1018465%2Fodbc.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text">Werner, Christian (2018) <a rel="nofollow" class="external text" href="http://www.ch-werner.de/sqliteodbc/">"SQLite ODBC Driver"</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20140626165719/http://www.ch-werner.de/sqliteodbc/">Archived</a> 2014-06-26 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>, 2018-02-24</span> </li> <li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.easysoft.com/developer/interfaces/odbc/linux.html#odbc_versions">"ODBC Versions"</a>. <i>Linux/UNIX ODBC</i>. Easysoft<span class="reference-accessdate">. Retrieved <span class="nowrap">2009-10-27</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Linux%2FUNIX+ODBC&amp;rft.atitle=ODBC+Versions&amp;rft_id=http%3A%2F%2Fwww.easysoft.com%2Fdeveloper%2Finterfaces%2Fodbc%2Flinux.html%23odbc_versions&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFAntal" class="citation web cs1">Antal, Tiberiu Alexandru. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20110722071727/http://www.east.utcluj.ro/mb/mep/antal/Articole/orajdbc_2004.pdf">"Access to an Oracle database using JDBC"</a> <span class="cs1-format">(PDF)</span>. Cluj-Napoca: Technical University of Cluj-Napoca. p.&#160;2. Archived from <a rel="nofollow" class="external text" href="http://www.east.utcluj.ro/mb/mep/antal/Articole/orajdbc_2004.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2011-07-22<span class="reference-accessdate">. Retrieved <span class="nowrap">2009-10-27</span></span>. <q>ODBC 1.0 was released in September 1992</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Access+to+an+Oracle+database+using+JDBC&amp;rft.place=Cluj-Napoca&amp;rft.pages=2&amp;rft.pub=Technical+University+of+Cluj-Napoca&amp;rft.aulast=Antal&amp;rft.aufirst=Tiberiu+Alexandru&amp;rft_id=http%3A%2F%2Fwww.east.utcluj.ro%2Fmb%2Fmep%2Fantal%2FArticole%2Forajdbc_2004.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text">Microsoft Corporation. Microsoft ODBC 3.0 Programmer's Reference and SDK Guide, Volume 1. Microsoft Press. February 1997. (<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781572315167" title="Special:BookSources/9781572315167">9781572315167</a>)</span> </li> <li id="cite_note-What&#39;s_New_in_ODBC_3.8-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-What&#39;s_New_in_ODBC_3.8_25-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/en-us/library/ee388580%28VS.85%29.aspx">"What's New in ODBC 3.8"</a>. Microsoft<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-01-13</span></span>. <q>Windows 7 includes an updated version of ODBC, ODBC 3.8.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=What%27s+New+in+ODBC+3.8&amp;rft.pub=Microsoft&amp;rft_id=http%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Fee388580%2528VS.85%2529.aspx&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-MSDA_blog_2016-06-07-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-MSDA_blog_2016-06-07_26-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFRukmangathan2016" class="citation web cs1">Rukmangathan, Krishnakumar (2016-06-07). <a rel="nofollow" class="external text" href="https://blogs.msdn.microsoft.com/dataaccesstechnologies/2016/06/07/a-new-release-of-odbc-for-modern-data-stores/">"A new release of ODBC for Modern Data Stores"</a>. <i>Microsoft Data Access / SQL BI Technologies Blog</i>. Microsoft<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-01-03</span></span>. <q>After more than 15 years since the last release, Microsoft is looking at updating the Open Data Base Connectivity (ODBC) specification.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Microsoft+Data+Access+%2F+SQL+BI+Technologies+Blog&amp;rft.atitle=A+new+release+of+ODBC+for+Modern+Data+Stores&amp;rft.date=2016-06-07&amp;rft.aulast=Rukmangathan&amp;rft.aufirst=Krishnakumar&amp;rft_id=https%3A%2F%2Fblogs.msdn.microsoft.com%2Fdataaccesstechnologies%2F2016%2F06%2F07%2Fa-new-release-of-odbc-for-modern-data-stores%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://learn.microsoft.com/en-us/sql/odbc/microsoft/history-of-the-desktop-database-drivers?view=sql-server-ver16">"History of the Desktop Database Drivers"</a>. 19 January 2017.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=History+of+the+Desktop+Database+Drivers&amp;rft.date=2017-01-19&amp;rft_id=http%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fsql%2Fodbc%2Fmicrosoft%2Fhistory-of-the-desktop-database-drivers%3Fview%3Dsql-server-ver16&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://db-engines.com/en/system/SAP+HANA">"SAP HANA System Properties"</a>. <i><a href="/w/index.php?title=DB-Engines&amp;action=edit&amp;redlink=1" class="new" title="DB-Engines (page does not exist)">DB-Engines</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">2016-03-28</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=DB-Engines&amp;rft.atitle=SAP+HANA+System+Properties&amp;rft_id=http%3A%2F%2Fdb-engines.com%2Fen%2Fsystem%2FSAP%2BHANA&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://help.sap.com/saphelp_hanaplatform/helpdata/en/66/a4169b84b2466892e1af9781049836/content.htm">"Connect to SAP HANA via ODBC - SAP HANA Developer Guide for SAP HANA Studio - SAP Library"</a>. <i>help.sap.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2016-03-28</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=help.sap.com&amp;rft.atitle=Connect+to+SAP+HANA+via+ODBC+-+SAP+HANA+Developer+Guide+for+SAP+HANA+Studio+-+SAP+Library&amp;rft_id=http%3A%2F%2Fhelp.sap.com%2Fsaphelp_hanaplatform%2Fhelpdata%2Fen%2F66%2Fa4169b84b2466892e1af9781049836%2Fcontent.htm&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFSybase" class="citation web cs1">Sybase. <a rel="nofollow" class="external text" href="http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.sdk_12.5.1.aseodbc/html/aseodbc/aseodbc5.htm">"Introduction to ODBC"</a>. <i>infocenter.sybase.com</i>. Sybase<span class="reference-accessdate">. Retrieved <span class="nowrap">8 October</span> 2011</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=infocenter.sybase.com&amp;rft.atitle=Introduction+to+ODBC&amp;rft.au=Sybase&amp;rft_id=http%3A%2F%2Finfocenter.sybase.com%2Fhelp%2Findex.jsp%3Ftopic%3D%2Fcom.sybase.help.sdk_12.5.1.aseodbc%2Fhtml%2Faseodbc%2Faseodbc5.htm&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="31" class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc">"Java JDBC API"</a>. <i>docs.oracle.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">18 December</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=docs.oracle.com&amp;rft.atitle=Java+JDBC+API&amp;rft_id=https%3A%2F%2Fdocs.oracle.com%2Fjavase%2F8%2Fdocs%2Ftechnotes%2Fguides%2Fjdbc&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AOpen+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-msdasql-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-msdasql_32-0">^</a></b></span> <span class="reference-text"><i>Microsoft</i>, "Data Access Technologies Road Map", Deprecated MDAC Components, <i>Microsoft</i> <a rel="nofollow" class="external text" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdrefodbcprovspec.asp">"ADO Programmer's Guide" Appendix A: Providers, Microsoft OLE DB Provider for ODBC</a>, retrieved July 30, 2005. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20011005101137/http://msdn.microsoft.com/library/default.asp?url=%2Flibrary%2Fen-us%2Fado270%2Fhtm%2Fmdrefodbcprovspec.asp">Archived</a> 2001 October 5 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Open_Database_Connectivity&amp;action=edit&amp;section=21" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a rel="nofollow" class="external text" href="https://learn.microsoft.com/en-us/sql/odbc/reference/odbc-overview?view=sql-server-ver16">Microsoft ODBC Overview</a></li> <li><a rel="nofollow" class="external text" href="https://www.ibm.com/docs/en/i/7.1?topic=administration-odbc">IBM i ODBC Administration</a></li> <li><a rel="nofollow" class="external text" href="https://www.roth.net/perl/odbc/conf/sld002.htm">Presentation slides from www.roth.net</a></li> <li><a rel="nofollow" class="external text" href="https://learn.microsoft.com/en-us/archive/blogs/data/data-access-api-of-the-day-part-i">Microsoft ODBC &amp; Data Access APIs History Article</a>.</li> <li>Github page: <a rel="nofollow" class="external text" href="https://github.com/microsoft/ODBC-Specification">Microsoft ODBC 4.0 Specification</a></li></ul> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Microsoft_APIs_and_frameworks486" style="padding:3px"><table class="nowraplinks mw-collapsible mw-collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374" /><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Microsoft_APIs" title="Template:Microsoft APIs"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Microsoft_APIs" title="Template talk:Microsoft APIs"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Microsoft_APIs" title="Special:EditPage/Template:Microsoft APIs"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Microsoft_APIs_and_frameworks486" style="font-size:114%;margin:0 4em"><a href="/wiki/List_of_Microsoft_Windows_application_programming_interfaces_and_frameworks" title="List of Microsoft Windows application programming interfaces and frameworks">Microsoft APIs and frameworks</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Graphics and UI</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Desktop_Window_Manager" title="Desktop Window Manager">Desktop Window Manager</a></li> <li><a href="/wiki/Direct2D" title="Direct2D">Direct2D</a></li> <li><a href="/wiki/Direct3D" title="Direct3D">Direct3D</a></li> <li><a href="/wiki/D3DX" title="D3DX">D3D (extensions)</a></li> <li><a href="/wiki/Graphics_Device_Interface" title="Graphics Device Interface">GDI / GDI+</a></li> <li><a href="/wiki/Windows_Presentation_Foundation" title="Windows Presentation Foundation">WPF</a></li> <li><a href="/wiki/Microsoft_Silverlight" title="Microsoft Silverlight">Silverlight</a></li> <li><a href="/wiki/Windows_UI_Library" title="Windows UI Library">WinUI</a></li> <li><a href="/wiki/Windows_Color_System" title="Windows Color System">Windows Color System</a></li> <li><a href="/wiki/Windows_Image_Acquisition" title="Windows Image Acquisition">Windows Image Acquisition</a></li> <li><a href="/wiki/Windows_Imaging_Component" title="Windows Imaging Component">Windows Imaging Component</a></li> <li><a href="/wiki/DirectX_Graphics_Infrastructure" title="DirectX Graphics Infrastructure">DirectX Graphics Infrastructure (DXGI)</a></li> <li><a href="/wiki/Windows_Advanced_Rasterization_Platform" title="Windows Advanced Rasterization Platform">Windows Advanced Rasterization Platform</a></li> <li><a href="/wiki/WinG" title="WinG">WinG</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Audio</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/DirectMusic" title="DirectMusic">DirectMusic</a></li> <li><a href="/wiki/DirectSound" title="DirectSound">DirectSound</a></li> <li><a href="/wiki/Cross-platform_Audio_Creation_Tool" title="Cross-platform Audio Creation Tool">XACT</a></li> <li><a href="/wiki/Microsoft_Speech_API" title="Microsoft Speech API">Speech API</a></li> <li><a href="/wiki/XAudio2" title="XAudio2">XAudio2</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Multimedia</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/DirectX" title="DirectX">DirectX</a> <ul><li><a href="/wiki/DirectX_Media_Objects" class="mw-redirect" title="DirectX Media Objects">Media Objects</a></li> <li><a href="/wiki/DirectX_Video_Acceleration" title="DirectX Video Acceleration">Video Acceleration</a></li></ul></li> <li><a href="/wiki/Xinput" class="mw-redirect" title="Xinput">Xinput</a></li> <li><a href="/wiki/DirectInput" title="DirectInput">DirectInput</a></li> <li><a href="/wiki/DirectShow" title="DirectShow">DirectShow</a></li> <li><a href="/wiki/Managed_DirectX" title="Managed DirectX">Managed DirectX</a></li> <li><a href="/wiki/Media_Foundation" title="Media Foundation">Media Foundation</a></li> <li><a href="/wiki/Microsoft_XNA" title="Microsoft XNA">XNA</a></li> <li><a href="/wiki/Windows_Media" title="Windows Media">Windows Media</a></li> <li><a href="/wiki/Video_for_Windows" title="Video for Windows">Video for Windows</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Web</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Trident_(software)" title="Trident (software)">MSHTML</a></li> <li><a href="/wiki/JScript" title="JScript">JScript</a></li> <li><a href="/wiki/VBScript" title="VBScript">VBScript</a></li> <li><a href="/wiki/Browser_Helper_Object" title="Browser Helper Object">BHO</a></li> <li><a href="/wiki/XMLHttpRequest" title="XMLHttpRequest">XDR</a></li> <li><a href="/wiki/Microsoft_Gadgets" title="Microsoft Gadgets">SideBar Gadgets</a></li> <li><a href="/wiki/TypeScript" title="TypeScript">TypeScript</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Data access</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Microsoft_Data_Access_Components" title="Microsoft Data Access Components">Data Access Components (MDAC)</a> <ul><li><a href="/wiki/ActiveX_Data_Objects" title="ActiveX Data Objects">ADO</a></li> <li><a href="/wiki/ADO.NET" title="ADO.NET">ADO.NET</a></li> <li><a href="/wiki/ODBC" class="mw-redirect" title="ODBC">ODBC</a></li> <li><a href="/wiki/OLE_DB" title="OLE DB">OLE DB</a></li></ul></li> <li><a href="/wiki/Extensible_Storage_Engine" title="Extensible Storage Engine">Extensible Storage Engine</a></li> <li><a href="/wiki/Entity_Framework" title="Entity Framework">Entity Framework</a></li> <li><a href="/wiki/Microsoft_Sync_Framework" title="Microsoft Sync Framework">Sync Framework</a></li> <li><a href="/wiki/Access_Database_Engine" title="Access Database Engine">Access Database Engine</a></li> <li><a href="/wiki/MSXML" title="MSXML">MSXML</a></li> <li><a href="/wiki/Open_Packaging_Conventions" title="Open Packaging Conventions">OPC</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Networking</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Winsock" title="Winsock">Winsock</a> <ul><li><a href="/wiki/Layered_Service_Provider" title="Layered Service Provider">LSP</a></li></ul></li> <li><a href="/wiki/Windows_Vista_networking_technologies#Winsock_Kernel" title="Windows Vista networking technologies">Winsock Kernel</a></li> <li><a href="/wiki/Windows_Filtering_Platform" title="Windows Filtering Platform">Filtering Platform</a></li> <li><a href="/wiki/Network_Driver_Interface_Specification" title="Network Driver Interface Specification">NDIS</a></li> <li><a href="/wiki/Windows_Rally" title="Windows Rally">Windows Rally</a></li> <li><a href="/wiki/Background_Intelligent_Transfer_Service" title="Background Intelligent Transfer Service">BITS</a></li> <li><a href="/wiki/Windows_Vista_networking_technologies#Peer-to-peer_communication" title="Windows Vista networking technologies">P2P API</a></li> <li><a href="/wiki/Microsoft_Message_Queuing" title="Microsoft Message Queuing">MSMQ</a></li> <li><a href="/wiki/DirectPlay" title="DirectPlay">DirectPlay</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Communication</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/MAPI" title="MAPI">Messaging API</a></li> <li><a href="/wiki/Telephony_Application_Programming_Interface" title="Telephony Application Programming Interface">Telephony API</a></li> <li><a href="/wiki/Windows_Communication_Foundation" title="Windows Communication Foundation">WCF</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Administration and<br />management</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Win32_console" class="mw-redirect" title="Win32 console">Win32 console</a></li> <li><a href="/wiki/Windows_Script_Host" title="Windows Script Host">Windows Script Host</a></li> <li><a href="/wiki/Windows_Management_Instrumentation" title="Windows Management Instrumentation">WMI (extensions)</a></li> <li><a href="/wiki/PowerShell" title="PowerShell">PowerShell</a></li> <li><a href="/wiki/Windows_Task_Scheduler" title="Windows Task Scheduler">Task Scheduler</a></li> <li><a href="/wiki/Windows_Vista_I/O_technologies#Offline_Files" title="Windows Vista I/O technologies">Offline Files</a></li> <li><a href="/wiki/Shadow_Copy" title="Shadow Copy">Shadow Copy</a></li> <li><a href="/wiki/Windows_Installer" title="Windows Installer">Windows Installer</a></li> <li><a href="/wiki/Windows_Error_Reporting" title="Windows Error Reporting">Error Reporting</a></li> <li><a href="/wiki/Event_Viewer#Windows_Event_Log" title="Event Viewer">Event Log</a></li> <li><a href="/wiki/Common_Log_File_System" title="Common Log File System">Common Log File System</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em"><a href="/wiki/Component-based_software_engineering" title="Component-based software engineering">Component model</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Component_Object_Model" title="Component Object Model">COM</a></li> <li><a href="/wiki/Component_Object_Model#COM+" title="Component Object Model">COM+</a></li> <li><a href="/wiki/ActiveX" title="ActiveX">ActiveX</a></li> <li><a href="/wiki/Distributed_Component_Object_Model" title="Distributed Component Object Model">Distributed Component Object Model</a></li> <li><a href="/wiki/.NET_Framework" title=".NET Framework">.NET Framework</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em"><a href="/wiki/Library_(computing)" title="Library (computing)">Libraries</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Framework_Class_Library" title="Framework Class Library">Framework Class Library</a></li> <li><a href="/wiki/Microsoft_Foundation_Class_Library" title="Microsoft Foundation Class Library">Microsoft Foundation Classes (MFC)</a></li> <li><a href="/wiki/Active_Template_Library" title="Active Template Library">Active Template Library (ATL)</a></li> <li><a href="/wiki/Windows_Template_Library" title="Windows Template Library">Windows Template Library (WTL)</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em"><a href="/wiki/Device_driver" title="Device driver">Device drivers</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Windows_Driver_Model" title="Windows Driver Model">WDM</a></li> <li><a href="/wiki/Windows_Driver_Frameworks" title="Windows Driver Frameworks">WDF</a> <ul><li><a href="/wiki/Kernel-Mode_Driver_Framework" title="Kernel-Mode Driver Framework">KMDF</a></li> <li><a href="/wiki/User-Mode_Driver_Framework" title="User-Mode Driver Framework">UMDF</a></li></ul></li> <li><a href="/wiki/Windows_Display_Driver_Model" title="Windows Display Driver Model">WDDM</a></li> <li><a href="/wiki/Network_Driver_Interface_Specification" title="Network Driver Interface Specification">NDIS</a></li> <li><a href="/wiki/Universal_Audio_Architecture" title="Universal Audio Architecture">UAA</a></li> <li><a href="/wiki/VxD" title="VxD">VxD</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Security</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Microsoft_CryptoAPI" title="Microsoft CryptoAPI">Crypto API</a> <ul><li><a href="/wiki/CAPICOM" title="CAPICOM">CAPICOM</a></li></ul></li> <li><a href="/wiki/Windows_CardSpace" title="Windows CardSpace">Windows CardSpace</a></li> <li><a href="/wiki/Data_Protection_API" title="Data Protection API">Data Protection API</a></li> <li><a href="/wiki/Security_Support_Provider_Interface" title="Security Support Provider Interface">Security Support Provider Interface (SSPI)</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em"><a href="/wiki/.NET_Framework" title=".NET Framework">.NET</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ASP.NET" title="ASP.NET">ASP.NET</a></li> <li><a href="/wiki/ADO.NET" title="ADO.NET">ADO.NET</a></li> <li><a href="/wiki/.NET_Remoting" title=".NET Remoting">Remoting</a></li> <li><a href="/wiki/Microsoft_Silverlight" title="Microsoft Silverlight">Silverlight</a></li> <li><a href="/wiki/Task_Parallel_Library" class="mw-redirect" title="Task Parallel Library">TPL</a></li> <li><a href="/wiki/Windows_Communication_Foundation" title="Windows Communication Foundation">WCF</a></li> <li><a href="/wiki/Windows_CardSpace" title="Windows CardSpace">WCS</a></li> <li><a href="/wiki/Windows_Presentation_Foundation" title="Windows Presentation Foundation">WPF</a></li> <li><a href="/wiki/Windows_Workflow_Foundation" title="Windows Workflow Foundation">WF</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em"><a href="/wiki/Software_Factory_(Microsoft_.NET)" class="mw-redirect" title="Software Factory (Microsoft .NET)">Software factories</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Microsoft_Enterprise_Library" title="Microsoft Enterprise Library">Enterprise Library</a></li> <li><a href="/wiki/Microsoft_Customer_Care_Framework" title="Microsoft Customer Care Framework">CCF</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em"><a href="/wiki/Inter-process_communication" title="Inter-process communication">IPC</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Microsoft_RPC" title="Microsoft RPC">MSRPC</a></li> <li><a href="/wiki/Dynamic_Data_Exchange" title="Dynamic Data Exchange">Dynamic Data Exchange (DDE)</a></li> <li><a href="/wiki/.NET_Remoting" title=".NET Remoting">Remoting</a></li> <li><a href="/wiki/Windows_Communication_Foundation" title="Windows Communication Foundation">WCF</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Accessibility</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Microsoft_Active_Accessibility" title="Microsoft Active Accessibility">Active Accessibility</a></li> <li><a href="/wiki/Microsoft_UI_Automation" title="Microsoft UI Automation">UI Automation</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Text and multilingual<br />support</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/DirectWrite" title="DirectWrite">DirectWrite</a></li> <li><a href="/wiki/Text_Services_Framework" title="Text Services Framework">Text Services Framework</a></li> <li><a href="/wiki/Text_Object_Model" title="Text Object Model">Text Object Model</a></li> <li><a href="/wiki/Input_method" title="Input method">Input method editor</a></li> <li><a href="/wiki/Language_Interface_Pack" title="Language Interface Pack">Language Interface Pack</a></li> <li><a href="/wiki/Multilingual_User_Interface" title="Multilingual User Interface">Multilingual User Interface</a></li> <li><a href="/wiki/Uniscribe" title="Uniscribe">Uniscribe</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374" /><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235" /></div><div role="navigation" class="navbox authority-control" aria-label="Navbox390" style="padding:3px"><table class="nowraplinks hlist navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Help:Authority_control" title="Help:Authority control">Authority control databases</a>: National <span class="mw-valign-text-top noprint" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q212606#identifiers" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/4396455-2">Germany</a></span></li></ul></div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐84559f4bd5‐lg8wh Cached time: 20250402142522 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.541 seconds Real time usage: 0.678 seconds Preprocessor visited node count: 2994/1000000 Post‐expand include size: 71605/2097152 bytes Template argument size: 3915/2097152 bytes Highest expansion depth: 16/100 Expensive parser function count: 5/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 84887/5000000 bytes Lua time usage: 0.338/10.000 seconds Lua memory usage: 7580936/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 589.443 1 -total 19.67% 115.962 1 Template:Microsoft_APIs 19.03% 112.149 1 Template:Navbox 17.76% 104.672 2 Template:Cite_book 17.67% 104.144 1 Template:Reflist 13.03% 76.828 1 Template:Short_description 9.81% 57.844 16 Template:Cite_web 9.01% 53.113 2 Template:Citation_needed 8.86% 52.224 9 Template:Sfn 8.75% 51.554 3 Template:Fix --> <!-- Saved in parser cache with key enwiki:pcache:168701:|#|:idhash:canonical and timestamp 20250402142522 and revision id 1282875236. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://auth.wikimedia.org/loginwiki/wiki/Special:CentralAutoLogin/start?useformat=desktop&amp;type=1x1&amp;usesul3=1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Open_Database_Connectivity&amp;oldid=1282875236">https://en.wikipedia.org/w/index.php?title=Open_Database_Connectivity&amp;oldid=1282875236</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Computer_programming" title="Category:Computer programming">Computer programming</a></li><li><a href="/wiki/Category:Microsoft_application_programming_interfaces" title="Category:Microsoft application programming interfaces">Microsoft application programming interfaces</a></li><li><a href="/wiki/Category:Database_APIs" title="Category:Database APIs">Database APIs</a></li><li><a href="/wiki/Category:SQL_data_access" title="Category:SQL data access">SQL data access</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Webarchive_template_wayback_links" title="Category:Webarchive template wayback links">Webarchive template wayback links</a></li><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_matches_Wikidata" title="Category:Short description matches Wikidata">Short description matches Wikidata</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_April_2020" title="Category:Articles with unsourced statements from April 2020">Articles with unsourced statements from April 2020</a></li><li><a href="/wiki/Category:All_accuracy_disputes" title="Category:All accuracy disputes">All accuracy disputes</a></li><li><a href="/wiki/Category:Articles_with_disputed_statements_from_February_2013" title="Category:Articles with disputed statements from February 2013">Articles with disputed statements from February 2013</a></li><li><a href="/wiki/Category:Articles_containing_potentially_dated_statements_from_2008" title="Category:Articles containing potentially dated statements from 2008">Articles containing potentially dated statements from 2008</a></li><li><a href="/wiki/Category:All_articles_containing_potentially_dated_statements" title="Category:All articles containing potentially dated statements">All articles containing potentially dated statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_July_2008" title="Category:Articles with unsourced statements from July 2008">Articles with unsourced statements from July 2008</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 29 March 2025, at 04:18<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Open_Database_Connectivity&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://www.wikimedia.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/static/images/footer/wikimedia-button.svg" width="84" height="29"><img src="/static/images/footer/wikimedia.svg" width="25" height="25" alt="Wikimedia Foundation" lang="en" loading="lazy"></picture></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" lang="en" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <div class="vector-sticky-header-context-bar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-main">Open Database Connectivity</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <button class="cdx-button cdx-button--weight-quiet mw-interlanguage-selector" id="p-lang-btn-sticky-header" tabindex="-1" data-event-name="ui.dropdown-p-lang-btn-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>28 languages</span> </button> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Add topic</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </div> </div> </div> <div class="mw-portlet mw-portlet-dock-bottom emptyPortlet" id="p-dock-bottom"> <ul> </ul> </div> <script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-845f5977-6nkmw","wgBackendResponseTime":176,"wgPageParseReport":{"limitreport":{"cputime":"0.541","walltime":"0.678","ppvisitednodes":{"value":2994,"limit":1000000},"postexpandincludesize":{"value":71605,"limit":2097152},"templateargumentsize":{"value":3915,"limit":2097152},"expansiondepth":{"value":16,"limit":100},"expensivefunctioncount":{"value":5,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":84887,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 589.443 1 -total"," 19.67% 115.962 1 Template:Microsoft_APIs"," 19.03% 112.149 1 Template:Navbox"," 17.76% 104.672 2 Template:Cite_book"," 17.67% 104.144 1 Template:Reflist"," 13.03% 76.828 1 Template:Short_description"," 9.81% 57.844 16 Template:Cite_web"," 9.01% 53.113 2 Template:Citation_needed"," 8.86% 52.224 9 Template:Sfn"," 8.75% 51.554 3 Template:Fix"]},"scribunto":{"limitreport-timeusage":{"value":"0.338","limit":"10.000"},"limitreport-memusage":{"value":7580936,"limit":52428800},"limitreport-logs":"anchor_id_list = table#1 {\n [\"31\"] = 1,\n [\"CITEREFAnderson2003\"] = 1,\n [\"CITEREFAntal\"] = 1,\n [\"CITEREFGeiger1995\"] = 1,\n [\"CITEREFHarindranathJože_Zupančič2001\"] = 1,\n [\"CITEREFIdehen1994\"] = 1,\n [\"CITEREFIdehen1995\"] = 1,\n [\"CITEREFRukmangathan2016\"] = 1,\n [\"CITEREFSellers2001\"] = 1,\n [\"CITEREFSybase\"] = 1,\n}\ntemplate_list = table#1 {\n [\"As of\"] = 1,\n [\"Authority control\"] = 1,\n [\"Circa\"] = 4,\n [\"Citation needed\"] = 2,\n [\"Cite book\"] = 2,\n [\"Cite web\"] = 16,\n [\"Dubious\"] = 1,\n [\"ISBN\"] = 1,\n [\"Microsoft APIs\"] = 1,\n [\"Refbegin\"] = 1,\n [\"Refend\"] = 1,\n [\"Reflist\"] = 1,\n [\"Sfn\"] = 9,\n [\"Short description\"] = 1,\n [\"Webarchive\"] = 3,\n}\narticle_whitelist = table#1 {\n}\nciteref_patterns = table#1 {\n}\n"},"cachereport":{"origin":"mw-web.codfw.main-84559f4bd5-lg8wh","timestamp":"20250402142522","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Open Database Connectivity","url":"https:\/\/en.wikipedia.org\/wiki\/Open_Database_Connectivity","sameAs":"http:\/\/www.wikidata.org\/entity\/Q212606","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q212606","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2003-01-13T15:10:09Z","dateModified":"2025-03-29T04:18:40Z","headline":"ODBC, standard interface for accessing database systems"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10