Knowledge

Open Database Connectivity

Source đź“ť

919:, 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). Sun never intended its bridge for production environments, and generally recommended against its use. As of 2008 independent data-access vendors deliver JDBC-ODBC bridges which support current standards for both mechanisms, and which far outperform the JVM built-in. Examples: 349:& 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. 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 385:(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 857:
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
286:
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
425:
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
627:
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
469:
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
245:
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
853:
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
769:
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
483:
ODBC 1.0 was released in September 1992. 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
474:
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
401:
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
360:
was published in April 1989, about the same time as Lotus' announcement of Blueprint. 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. After
76:
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
557:
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
959:). 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. (Microsoft later relented, and 64-bit Windows starting with 732:
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
278:
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
208:
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
236:
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
217:. 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 774:
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.
858:
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.
141:
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
396:
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. The SAG responded by opening the standard effort to any competing design, but of the many proposals, only
554:, and a wide variety of Unix platforms, where ODBC quickly became the de facto standard. "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. 462:. 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 886:
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:
822:. 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. 947:
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
830:
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
1780: 758:
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
229:
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.
991:
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
1230:
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
636:
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
854:
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.
577:
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
1703: 605:(Jaguar) (which OpenLink Software had been independently providing for Mac OS X 10.0 and even Mac OS 9 since 2001) further cemented ODBC as the standard for cross-platform data access. 353:
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.
1332: 754:
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
389:(CLI). 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 158:
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
995: 952: 417:
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
542:
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
2647: 911:
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.
838:
In ODBC the Driver Manager (DM) provides these features. The DM can enumerate the installed drivers and present this as a list, often in a GUI-based form.
543: 1359: 326:. Unlike the later ODBC, Blueprint was a purely code-based system, lacking anything approximating a command language like SQL. Instead, programmers used 2145: 283:
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.
402:
Interface was formally adopted. In 1995 SQL/CLI became part of the international SQL standard, ISO/IEC 9075-3. The SAG itself was taken over by the
120:
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.
1577: 116:
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
1549: 1642: 330:
to store the query information, constructing a query by linking many of these structures together. Lotus referred to these compound structures as
169:
Since the SQL language had only rudimentary programming features, users often wanted to use SQL within a program written in another language, say
699:
4.0: Development announced June 2016 with first implementation with SQL Server 2017 released Sep 2017 and additional desktop drivers late 2018
1473: 2120: 1596: 201:
that would pass the statement into the SQL system. Results returned from the statements would be interpreted back into C data formats like
770:
system to the DBMS, converting or interpreting any commands that are not supported internally. For instance, a DBMS that does not support
2181: 1565:
After more than 15 years since the last release, Microsoft is looking at updating the Open Data Base Connectivity (ODBC) specification.
1617: 1699: 1771: 729:
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.
470:
SQL parser that could convert those calls from their text form into the C-interface used in Jet. To solve this, MS partnered with
77:
application can access any DBMS for which a driver is installed. Drivers exist for all major DBMSs, many other data sources like
2140: 1854: 1345: 426:
December 1991, and industry input was gathered and worked into the system through 1992, resulting in yet another name change to
2519: 2370: 2130: 488:'s SQL dialect to Jet's internal C-based format, then passed to a driver for conversion back into SQL calls for the database. 2229: 2155: 1217: 507:, and soon followed with their UDBC (a cross-platform API equivalent of ODBC and the SAG/CLI) SDK and associated drivers for 393:(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. 314:, initially known as Blueprint. Blueprint, developed for 1-2-3, supported a variety of data sources, including SQL/DS, DB2, 2264: 1722: 1506:
Microsoft Corporation. Microsoft ODBC 3.0 Programmer's Reference and SDK Guide, Volume 1. Microsoft Press. February 1997. (
287:
by other mainframe or microcomputer programs. These solutions included IBM's Distributed Relational Database Architecture (
736:
4.0 (late 1998): Support Microsoft Jet Engine Unicode format along with compatibility for ANSI format of earlier versions.
2423: 1737: 2315: 2287: 2214: 1890: 1030: 2514: 2491: 1511: 1065: 43: 943:
Provider which uses the services of an ODBC driver to connect to a target database. This provider translates OLE DB
2552: 2466: 2186: 2040: 992: 949: 2476: 1849: 1819: 1430: 1295: 503:
Circa 1993, OpenLink Software shipped one of the first independently developed third-party ODBC drivers, for the
2568: 2509: 999: 411: 682:
1995, John Goodson of Intersolv and Frank Pellow and Paul Cotton of IBM provided significant input to ODBC 3.0
2642: 2380: 1447: 390: 346: 1242: 987:
which uses the services of an ODBC driver to connect to a target database. This provider translates ADO.NET
786:
files, by implementing a small DBMS inside the driver itself. ODBC drivers exist for most DBMSs, including
68:
as a translation layer between the application and the DBMS. The application uses ODBC functions through an
2504: 2375: 2365: 2353: 1764: 1184:
ISO/IEC 9075-3 – Information technology – Database languages – SQL – Part 3: Call-Level Interface (SQL/CLI)
1320: 1269: 418: 2616: 2529: 2481: 616: 454:(DLL) that allowed the same C interface to redirect input and output to other ISAM-based databases, like 450:, confusingly), a C-based interface allowing applications to access that data, and a selection of driver 928: 2358: 2125: 2092: 1926: 1024: 811: 612: 520: 47: 566:
to text files. Several new systems followed which further turned their attention from ODBC, including
2348: 2150: 2067: 1844: 1839: 1814: 988: 944: 908: 562:
concept (recently reinstated ), which provided direct access to a wider variety of data sources from
2277: 640:, as a way to allow existing tools to act as front-ends to these engines for testing and debugging. 299:. Much more common, however, were systems that ran entirely on microcomputers, including a complete 2657: 2325: 2113: 2077: 1524: 1480: 763: 620: 578: 266:
led to an increasing interest in using personal computers as the client-side platform of choice in
255: 174: 58:
to other platforms, both on the client and server side, with few changes to the data access code.
2611: 2596: 2573: 2320: 2310: 2244: 1757: 267: 254:
By the mid-1980s the rapid improvement in microcomputers, and especially the introduction of the
2652: 2272: 2254: 2224: 2082: 1794: 783: 451: 238: 226: 86: 1727: 1668: 2542: 2461: 2456: 2249: 2009: 1921: 1824: 984: 955:, together with other database drivers, to simplify development in COM-aware languages (e.g. 597:, initially under Unix. The later adoption of ODBC by Apple for using the standard Unix-side 615:(JDBC). In most ways, JDBC can be considered a version of ODBC for the programming language 2343: 2045: 1994: 1895: 1834: 1618:"Connect to SAP HANA via ODBC - SAP HANA Developer Guide for SAP HANA Studio - SAP Library" 799: 567: 386: 323: 296: 151: 101: 17: 907:
which employs an ODBC driver to connect to a target database. This driver translates JDBC
8: 2418: 2401: 2302: 2209: 1948: 960: 835:
functionality on top of the drivers, providing print spooling for any supported printer.
439: 259: 198: 138: 246:
engine. In effect, all such systems were static, which presented considerable problems.
1989: 1829: 1035: 883: 803: 771: 497: 493: 485: 471: 455: 275: 134: 113: 97: 2601: 2471: 2413: 2239: 2019: 1973: 1507: 1213: 1061: 964: 508: 489: 307: 280: 155: 117: 64: 1401: 1374: 585:
that provided a need to access these sources in non-text form, and the emergence of
197:
it would be converted into a custom format that directly called a function within a
2072: 1958: 912: 608: 382: 350: 342: 105: 51: 50:(DBMS). The designers of ODBC aimed to make it independent of database systems and 1744: 1700:"ADO Programmer's Guide" Appendix A: Providers, Microsoft OLE DB Provider for ODBC 1209:
New perspectives on information systems development: theory, methods, and practice
700: 318:
and a variety of similar mainframe systems, as well as microcomputer systems like
1953: 1732: 1707: 1434: 1207: 1090: 1055: 1019: 870:
is a special kind of driver: a driver that uses another driver-based technology.
787: 82: 1749: 841:
But more important to the operation of the ODBC system is the DM's concept of a
2433: 2292: 2014: 1885: 755: 551: 550:
license to develop ODBC on non-Windows platforms. Visigenic ported ODBC to the
463: 407: 327: 322:
and the early Microsoft/Ashton-Tate efforts that would eventually develop into
311: 300: 292: 73: 166:
standardization, although substantial differences in implementation remained.
2636: 2547: 2537: 2451: 2335: 2204: 2135: 1968: 1963: 1479:. Cluj-Napoca: Technical University of Cluj-Napoca. p. 2. Archived from 1003: 751: 723:
1.0 (1993–08): Used the SIMBA query processor produced by PageAhead Software.
602: 586: 504: 233: 968: 2606: 1591: 972: 956: 920: 888: 563: 271: 178: 78: 924: 892: 2591: 2499: 2234: 1938: 1880: 1875: 1255: 1007: 904: 782:, normally a DBMS. Some non-DBMS drivers exist, for such data sources as 547: 398: 263: 2219: 2160: 2024: 1943: 791: 759: 590: 532: 361:
considerable industry input, in the summer of 1989 the standard became
214: 1427: 2621: 1346:"OLE DB and SQL Server: History, End-Game, and some Microsoft "dirt"" 807: 93: 31: 2004: 1804: 1799: 1695:, "Data Access Technologies Road Map", Deprecated MDAC Components, 998:, together with other database drivers, to simplify development in 832: 815: 422: 303:
that included any required networking or file translation support.
194: 182: 845:(DSN). DSNs collect additional information needed to connect to a 2446: 2441: 2406: 2282: 2108: 2050: 1999: 1916: 1900: 819: 571: 528: 438:
During this time, Microsoft was in the midst of developing their
210: 170: 55: 574:, which interacted more or less with ODBC over their lifetimes. 2060: 1933: 940: 637: 611:
used the ODBC system as the basis for their own open standard,
559: 403: 338: 778:
An ODBC driver enables an ODBC-compliant application to use a
337:
Around the same time, an industry team including members from
213:
would look very different from one that called into their own
2087: 850: 795: 598: 594: 582: 524: 516: 459: 319: 315: 242: 1360:"Announcing the new release of OLE DB Driver for SQL Server" 849:
data source, versus the DBMS itself. For instance, the same
189:
within another language. For instance, a SQL statement like
2176: 2055: 1859: 1809: 1168: 1166: 536: 511:, Sybase, Oracle, and other DBMS, for use on Unix-like OS ( 475:
spreadsheet documents into SQL-accessible database tables.
443: 378: 288: 193:
could be inserted as text within C source code, and during
109: 1517: 1335:, InfoSphere Classic documentation, IBM, 26 September 2008 967:
have shipped with a 64-bit version of MSDASQL.) Examples:
2385: 1205: 916: 512: 159: 147: 143: 1536:
Windows 7 includes an updated version of ODBC, ODBC 3.8.
1163: 27:
ODBC, standard interface for accessing database systems
1115: 1105: 1103: 1738:
Microsoft ODBC & Data Access APIs History Article
100:
during the early 1990s, and became the basis for the
1541: 1187: 1151: 1139: 1002:. Third parties have also developed such. Examples: 478: 1333:"Similarities and differences between ODBC and CLI" 1127: 1100: 898: 873: 72:with which it is linked, and the driver passes the 1402:"ODBC SDK update out for Mac OS Classic, Mac OS X" 270:computing. Under this model, large mainframes and 1779: 2634: 1554:Microsoft Data Access / SQL BI Technologies Blog 500:to develop drivers for their databases as well. 306:One of the early examples of such a system was 61:ODBC accomplishes DBMS independence by using an 1550:"A new release of ODBC for Modern Data Stores" 406:group in 1996, and, over time, became part of 274:would be used primarily to serve up data over 1765: 1178: 225:which could be changed at any time, like the 2648:Microsoft application programming interfaces 1547: 442:. Jet combined three primary subsystems; an 706: 241:or interactive forms system in the case of 54:. An application written using ODBC can be 2424:Security Support Provider Interface (SSPI) 1772: 1758: 1097:, vol. 10, no. 14, 4 April 1988, pp. 1, 69 978: 861: 1578:"History of the Desktop Database Drivers" 1548:Rukmangathan, Krishnakumar (2016-06-07). 1474:"Access to an Oracle database using JDBC" 1321:"SQL Access Group's Call-Level Interface" 1091:Blueprint Lets 1-2-3 Access Outside Data" 934: 377:In 1988 several vendors, mostly from the 232:Older mainframe databases, and the newer 1372: 1855:Windows Advanced Rasterization Platform 1686: 1495:ODBC 1.0 was released in September 1992 1399: 1296:"Need ODBC/Ingres driver for DEC OSF/1" 1206:Harindranath, G; JoĹľe ZupanÄŤiÄŤ (2001). 740: 14: 2635: 1850:DirectX Graphics Infrastructure (DXGI) 1375:"Open Database Connectivity in Jaguar" 1300:Usenet Newsgroup comp.databases.oracle 1293: 1267: 1193: 1172: 1157: 1145: 1133: 1121: 1109: 1053: 983:An ADO.NET-ODBC bridge consists of an 648: 1753: 1733:Presentation slides from www.roth.net 1268:Idehen, Kingsley Uyi (October 1994). 1199: 939:An OLE DB-ODBC bridge consists of an 381:and database communities, formed the 882:driver which uses the services of a 1294:Idehen, Kingsley Uyi (1995-07-18). 878:An ODBC-JDBC bridge consists of an 446:-based database engine (also named 24: 2316:Microsoft Foundation Classes (MFC) 2288:Distributed Component Object Model 1640: 1031:Windows Open Services Architecture 726:2.0 (1994–12): Used with ODBC 2.0. 643: 25: 2669: 1716: 1471: 1243:"Linux/UNIX ODBC – What is ODBC?" 903:A JDBC-ODBC bridge consists of a 825: 479:Release and continued development 92:ODBC was originally developed by 44:application programming interface 1745:Microsoft ODBC 4.0 Specification 915:included one such bridge in the 899:JDBC-to-ODBC (JDBC-ODBC) bridges 874:ODBC-to-JDBC (ODBC-JDBC) bridges 249: 1661: 1634: 1610: 1584: 1570: 1500: 1465: 1440: 1420: 1393: 1373:Anderson, Andrew (2003-06-20). 1366: 1352: 1338: 1326: 1313: 1287: 1274:Usenet Newsgroup comp.databases 1261: 1249: 1235: 665:1.0: released in September 1992 433: 2326:Windows Template Library (WTL) 1400:Sellers, Dennis (2001-07-17). 1083: 412:Common Application Environment 372: 162:aimed to solve the problem of 128: 13: 1: 2321:Active Template Library (ATL) 2041:Data Access Components (MDAC) 1781:Microsoft APIs and frameworks 1041: 1008:SequeLink ADO.NET-ODBC Bridge 693: 686: 679: 669: 631: 391:Digital Equipment Corporation 177:. This led to the concept of 1702:, retrieved July 30, 2005. 1592:"SAP HANA System Properties" 1323:, Dr. Dobbs, 1 February 1996 1004:OpenLink ADO.NET-ODBC Bridge 205:using similar library code. 7: 2617:Multilingual User Interface 2543:Dynamic Data Exchange (DDE) 1013: 973:SequeLink OLEDB-ODBC Bridge 48:database management systems 10: 2674: 1472:Antal, Tiberiu Alexandru. 1025:Java Database Connectivity 969:OpenLink OLEDB-ODBC Bridge 925:SequeLink JDBC-ODBC Bridge 893:SequeLink ODBC-JDBC Bridge 745: 613:Java Database Connectivity 123: 36:Open Database Connectivity 2582: 2561: 2528: 2490: 2432: 2394: 2334: 2301: 2263: 2195: 2169: 2101: 2068:Extensible Storage Engine 2033: 1982: 1909: 1868: 1845:Windows Imaging Component 1840:Windows Image Acquisition 1787: 1728:IBM i ODBC Administration 1426:Werner, Christian (2018) 1379:O'Reilly MacDevCenter.com 1270:"ODBC and progress V7.2d" 1212:. Springer. p. 451. 929:ZappySys JDBC-ODBC Bridge 921:OpenLink JDBC-ODBC Bridge 889:OpenLink ODBC-JDBC Bridge 579:graphical user interfaces 358:Microsoft Data Access API 1525:"What's New in ODBC 3.8" 1408:. IDG Consumer & SMB 707:Desktop Database Drivers 256:graphical user interface 133:The introduction of the 2612:Language Interface Pack 2597:Text Services Framework 2311:Framework Class Library 1723:Microsoft ODBC Overview 1667: 996:system component bundle 979:ADO.NET-to-ODBC bridges 953:system component bundle 862:Bridging configurations 356:The first draft of the 227:command-line interfaces 85:, and even for text or 2255:Common Log File System 2083:Access Database Engine 1795:Desktop Window Manager 1706:2001 October 5 at the 1643:"Introduction to ODBC" 1089:McGlinn, Evan (1988), 935:OLE DB-to-ODBC bridges 804:Compact aka CE edition 589:database systems like 452:dynamic-link libraries 239:command line interface 104:(CLI) standardized by 87:comma-separated values 2583:Text and multilingual 1647:infocenter.sybase.com 1381:. O'Reilly Media, Inc 1054:Geiger, Kyle (1995). 750:ODBC is based on the 484:first converted from 2643:Computer programming 2569:Active Accessibility 1835:Windows Color System 1428:"SQLite ODBC Driver" 1348:. 25 September 2011. 1319:Sippl, Roger (1996) 1258:, Simba Technologies 800:Microsoft SQL Server 741:Drivers and Managers 701:final spec on Github 696:2009, with Windows 7 568:ActiveX Data Objects 466:and function calls. 387:Call Level Interface 324:Microsoft SQL Server 297:Data Access Language 260:application programs 102:Call Level Interface 46:(API) for accessing 2607:Input method editor 2419:Data Protection API 2210:Windows Script Host 1949:Image Mastering API 1060:. Microsoft Press. 961:Windows Server 2008 649:ODBC specifications 440:Jet database system 276:local area networks 139:relational database 70:ODBC driver manager 2505:Enterprise Library 2492:Software factories 2196:Administration and 2126:Filtering Platform 1927:Video Acceleration 1433:2014-06-26 at the 1175:, p. 186-187. 1036:ODBC Administrator 544:Visigenic Software 498:Simba Technologies 486:Simba Technologies 472:PageAhead Software 419:scrollable cursors 281:computer terminals 191:SELECT * FROM city 98:Simba Technologies 2630: 2629: 2602:Text Object Model 2414:Windows CardSpace 2240:Windows Installer 1974:Video for Windows 1219:978-0-306-47251-0 965:Windows Vista SP1 802:(but not for the 490:Digital Equipment 308:Lotus Development 118:de facto standard 52:operating systems 16:(Redirected from 2665: 2215:WMI (extensions) 2073:Entity Framework 1959:Media Foundation 1810:D3D (extensions) 1774: 1767: 1760: 1751: 1750: 1710: 1690: 1684: 1683: 1681: 1679: 1665: 1659: 1658: 1656: 1654: 1638: 1632: 1631: 1629: 1628: 1614: 1608: 1607: 1605: 1604: 1588: 1582: 1581: 1574: 1568: 1567: 1562: 1561: 1545: 1539: 1538: 1533: 1532: 1521: 1515: 1504: 1498: 1497: 1492: 1491: 1485: 1478: 1469: 1463: 1462: 1460: 1459: 1444: 1438: 1424: 1418: 1417: 1415: 1413: 1397: 1391: 1390: 1388: 1386: 1370: 1364: 1363: 1356: 1350: 1349: 1342: 1336: 1330: 1324: 1317: 1311: 1310: 1308: 1306: 1291: 1285: 1284: 1282: 1280: 1265: 1259: 1253: 1247: 1246: 1239: 1233: 1232: 1227: 1226: 1203: 1197: 1191: 1185: 1182: 1176: 1170: 1161: 1155: 1149: 1143: 1137: 1131: 1125: 1124:, p. 86-87. 1119: 1113: 1107: 1098: 1087: 1071: 985:ADO.NET Provider 913:Sun Microsystems 843:Data Source Name 719: 718: 714: 695: 688: 681: 671: 661: 660: 656: 609:Sun Microsystems 539:, and other OS. 496:both contracted 383:SQL Access Group 363:SQL Connectivity 351:operating system 343:Tandem Computers 204: 192: 181:, which allowed 106:SQL Access Group 42:) is a standard 21: 2673: 2672: 2668: 2667: 2666: 2664: 2663: 2662: 2658:SQL data access 2633: 2632: 2631: 2626: 2584: 2578: 2557: 2524: 2486: 2428: 2390: 2330: 2297: 2265:Component model 2259: 2245:Error Reporting 2197: 2191: 2165: 2097: 2029: 2020:SideBar Gadgets 1978: 1954:Managed DirectX 1905: 1864: 1788:Graphics and UI 1783: 1778: 1719: 1714: 1713: 1708:Wayback Machine 1691: 1687: 1677: 1675: 1673:docs.oracle.com 1669:"Java JDBC API" 1666: 1662: 1652: 1650: 1639: 1635: 1626: 1624: 1616: 1615: 1611: 1602: 1600: 1590: 1589: 1585: 1576: 1575: 1571: 1559: 1557: 1546: 1542: 1530: 1528: 1523: 1522: 1518: 1505: 1501: 1489: 1487: 1483: 1476: 1470: 1466: 1457: 1455: 1452:Linux/UNIX ODBC 1448:"ODBC Versions" 1446: 1445: 1441: 1435:Wayback Machine 1425: 1421: 1411: 1409: 1398: 1394: 1384: 1382: 1371: 1367: 1358: 1357: 1353: 1344: 1343: 1339: 1331: 1327: 1318: 1314: 1304: 1302: 1292: 1288: 1278: 1276: 1266: 1262: 1254: 1250: 1241: 1240: 1236: 1224: 1222: 1220: 1204: 1200: 1192: 1188: 1183: 1179: 1171: 1164: 1156: 1152: 1144: 1140: 1132: 1128: 1120: 1116: 1108: 1101: 1088: 1084: 1074: 1068: 1044: 1020:GNU Data Access 1016: 981: 937: 901: 876: 864: 828: 748: 743: 720: 716: 712: 710: 709: 662: 658: 654: 652: 651: 646: 644:Version history 634: 623:. JDBC-to-ODBC 481: 464:data structures 436: 375: 328:data structures 252: 202: 190: 131: 126: 83:Microsoft Excel 28: 23: 22: 15: 12: 11: 5: 2671: 2661: 2660: 2655: 2650: 2645: 2628: 2627: 2625: 2624: 2619: 2614: 2609: 2604: 2599: 2594: 2588: 2586: 2580: 2579: 2577: 2576: 2571: 2565: 2563: 2559: 2558: 2556: 2555: 2550: 2545: 2540: 2534: 2532: 2526: 2525: 2523: 2522: 2517: 2512: 2507: 2502: 2496: 2494: 2488: 2487: 2485: 2484: 2479: 2474: 2469: 2464: 2459: 2454: 2449: 2444: 2438: 2436: 2430: 2429: 2427: 2426: 2421: 2416: 2411: 2410: 2409: 2398: 2396: 2392: 2391: 2389: 2388: 2383: 2378: 2373: 2368: 2363: 2362: 2361: 2356: 2346: 2340: 2338: 2336:Device drivers 2332: 2331: 2329: 2328: 2323: 2318: 2313: 2307: 2305: 2299: 2298: 2296: 2295: 2293:.NET Framework 2290: 2285: 2280: 2275: 2269: 2267: 2261: 2260: 2258: 2257: 2252: 2247: 2242: 2237: 2232: 2227: 2225:Task Scheduler 2222: 2217: 2212: 2207: 2201: 2199: 2193: 2192: 2190: 2189: 2184: 2179: 2173: 2171: 2167: 2166: 2164: 2163: 2158: 2153: 2148: 2143: 2138: 2133: 2128: 2123: 2121:Winsock Kernel 2118: 2117: 2116: 2105: 2103: 2099: 2098: 2096: 2095: 2090: 2085: 2080: 2078:Sync Framework 2075: 2070: 2065: 2064: 2063: 2058: 2053: 2048: 2037: 2035: 2031: 2030: 2028: 2027: 2022: 2017: 2012: 2007: 2002: 1997: 1992: 1986: 1984: 1980: 1979: 1977: 1976: 1971: 1966: 1961: 1956: 1951: 1946: 1941: 1936: 1931: 1930: 1929: 1924: 1913: 1911: 1907: 1906: 1904: 1903: 1898: 1893: 1888: 1886:DirectX plugin 1883: 1878: 1872: 1870: 1866: 1865: 1863: 1862: 1857: 1852: 1847: 1842: 1837: 1832: 1827: 1822: 1817: 1812: 1807: 1802: 1797: 1791: 1789: 1785: 1784: 1777: 1776: 1769: 1762: 1754: 1748: 1747: 1741: 1735: 1730: 1725: 1718: 1717:External links 1715: 1712: 1711: 1685: 1660: 1633: 1609: 1583: 1569: 1540: 1516: 1499: 1464: 1439: 1419: 1392: 1365: 1351: 1337: 1325: 1312: 1286: 1260: 1248: 1234: 1218: 1198: 1196:, p. 203. 1186: 1177: 1162: 1160:, p. 165. 1150: 1148:, p. 106. 1138: 1126: 1114: 1099: 1081: 1080: 1079: 1078: 1073: 1072: 1066: 1050: 1049: 1048: 1043: 1040: 1039: 1038: 1033: 1028: 1022: 1015: 1012: 980: 977: 936: 933: 900: 897: 875: 872: 863: 860: 827: 826:Driver Manager 824: 756:printer driver 747: 744: 742: 739: 738: 737: 734: 730: 727: 724: 708: 705: 704: 703: 697: 690: 683: 676: 673: 666: 650: 647: 645: 642: 633: 630: 628:ODBC drivers. 552:classic Mac OS 480: 477: 435: 432: 408:The Open Group 374: 371: 341:(Tom Haggin), 301:protocol stack 293:Apple Computer 258:and data-rich 251: 248: 130: 127: 125: 122: 26: 9: 6: 4: 3: 2: 2670: 2659: 2656: 2654: 2653:Database APIs 2651: 2649: 2646: 2644: 2641: 2640: 2638: 2623: 2620: 2618: 2615: 2613: 2610: 2608: 2605: 2603: 2600: 2598: 2595: 2593: 2590: 2589: 2587: 2581: 2575: 2574:UI Automation 2572: 2570: 2567: 2566: 2564: 2562:Accessibility 2560: 2554: 2551: 2549: 2546: 2544: 2541: 2539: 2536: 2535: 2533: 2531: 2527: 2521: 2518: 2516: 2513: 2511: 2508: 2506: 2503: 2501: 2498: 2497: 2495: 2493: 2489: 2483: 2480: 2478: 2475: 2473: 2470: 2468: 2465: 2463: 2460: 2458: 2455: 2453: 2450: 2448: 2445: 2443: 2440: 2439: 2437: 2435: 2431: 2425: 2422: 2420: 2417: 2415: 2412: 2408: 2405: 2404: 2403: 2400: 2399: 2397: 2393: 2387: 2384: 2382: 2379: 2377: 2374: 2372: 2369: 2367: 2364: 2360: 2357: 2355: 2352: 2351: 2350: 2347: 2345: 2342: 2341: 2339: 2337: 2333: 2327: 2324: 2322: 2319: 2317: 2314: 2312: 2309: 2308: 2306: 2304: 2300: 2294: 2291: 2289: 2286: 2284: 2281: 2279: 2276: 2274: 2271: 2270: 2268: 2266: 2262: 2256: 2253: 2251: 2248: 2246: 2243: 2241: 2238: 2236: 2233: 2231: 2230:Offline Files 2228: 2226: 2223: 2221: 2218: 2216: 2213: 2211: 2208: 2206: 2205:Win32 console 2203: 2202: 2200: 2194: 2188: 2185: 2183: 2182:Telephony API 2180: 2178: 2177:Messaging API 2175: 2174: 2172: 2170:Communication 2168: 2162: 2159: 2157: 2154: 2152: 2149: 2147: 2144: 2142: 2139: 2137: 2136:Windows Rally 2134: 2132: 2129: 2127: 2124: 2122: 2119: 2115: 2112: 2111: 2110: 2107: 2106: 2104: 2100: 2094: 2091: 2089: 2086: 2084: 2081: 2079: 2076: 2074: 2071: 2069: 2066: 2062: 2059: 2057: 2054: 2052: 2049: 2047: 2044: 2043: 2042: 2039: 2038: 2036: 2032: 2026: 2023: 2021: 2018: 2016: 2013: 2011: 2008: 2006: 2003: 2001: 1998: 1996: 1993: 1991: 1988: 1987: 1985: 1981: 1975: 1972: 1970: 1969:Windows Media 1967: 1965: 1962: 1960: 1957: 1955: 1952: 1950: 1947: 1945: 1942: 1940: 1937: 1935: 1932: 1928: 1925: 1923: 1922:Media Objects 1920: 1919: 1918: 1915: 1914: 1912: 1908: 1902: 1899: 1897: 1894: 1892: 1889: 1887: 1884: 1882: 1879: 1877: 1874: 1873: 1871: 1867: 1861: 1858: 1856: 1853: 1851: 1848: 1846: 1843: 1841: 1838: 1836: 1833: 1831: 1828: 1826: 1823: 1821: 1818: 1816: 1813: 1811: 1808: 1806: 1803: 1801: 1798: 1796: 1793: 1792: 1790: 1786: 1782: 1775: 1770: 1768: 1763: 1761: 1756: 1755: 1752: 1746: 1743:Github page: 1742: 1739: 1736: 1734: 1731: 1729: 1726: 1724: 1721: 1720: 1709: 1705: 1701: 1698: 1694: 1689: 1674: 1670: 1664: 1648: 1644: 1637: 1623: 1619: 1613: 1599: 1598: 1593: 1587: 1579: 1573: 1566: 1555: 1551: 1544: 1537: 1526: 1520: 1513: 1512:9781572315167 1509: 1503: 1496: 1486:on 2011-07-22 1482: 1475: 1468: 1453: 1449: 1443: 1436: 1432: 1429: 1423: 1407: 1403: 1396: 1380: 1376: 1369: 1361: 1355: 1347: 1341: 1334: 1329: 1322: 1316: 1301: 1297: 1290: 1275: 1271: 1264: 1257: 1256:"Our History" 1252: 1244: 1238: 1231: 1221: 1215: 1211: 1210: 1202: 1195: 1190: 1181: 1174: 1169: 1167: 1159: 1154: 1147: 1142: 1136:, p. 56. 1135: 1130: 1123: 1118: 1112:, p. 65. 1111: 1106: 1104: 1096: 1092: 1086: 1082: 1076: 1075: 1069: 1067:9781556158155 1063: 1059: 1058: 1052: 1051: 1046: 1045: 1037: 1034: 1032: 1029: 1026: 1023: 1021: 1018: 1017: 1011: 1009: 1005: 1001: 997: 994: 990: 986: 976: 974: 970: 966: 962: 958: 954: 951: 946: 942: 932: 930: 926: 922: 918: 914: 910: 906: 896: 894: 890: 885: 881: 871: 869: 859: 855: 852: 848: 844: 839: 836: 834: 823: 821: 817: 813: 809: 805: 801: 797: 793: 789: 785: 781: 776: 773: 767: 765: 761: 757: 753: 752:device driver 735: 731: 728: 725: 722: 721: 715: 702: 698: 691: 684: 677: 674: 667: 664: 663: 657: 641: 639: 629: 626: 622: 618: 614: 610: 606: 604: 603:Mac OS X 10.2 600: 596: 592: 588: 587:open software 584: 580: 575: 573: 569: 565: 564:address books 561: 555: 553: 549: 545: 540: 538: 534: 530: 526: 522: 518: 514: 510: 506: 505:PROGRESS DBMS 501: 499: 495: 491: 487: 476: 473: 467: 465: 461: 457: 453: 449: 445: 441: 431: 429: 424: 420: 415: 413: 409: 405: 400: 394: 392: 388: 384: 380: 370: 368: 364: 359: 354: 352: 348: 344: 340: 335: 333: 329: 325: 321: 317: 313: 309: 304: 302: 298: 294: 290: 284: 282: 277: 273: 272:minicomputers 269: 268:client–server 265: 261: 257: 250:Early efforts 247: 244: 240: 235: 234:microcomputer 230: 228: 224: 220: 216: 212: 206: 200: 196: 188: 184: 180: 176: 172: 167: 165: 161: 157: 153: 149: 145: 140: 136: 121: 119: 115: 111: 107: 103: 99: 95: 90: 89:(CSV) files. 88: 84: 80: 75: 71: 67: 66: 59: 57: 53: 49: 45: 41: 37: 33: 19: 2510:Composite UI 1995:RSS Platform 1696: 1692: 1688: 1676:. Retrieved 1672: 1663: 1651:. Retrieved 1646: 1636: 1625:. Retrieved 1622:help.sap.com 1621: 1612: 1601:. Retrieved 1595: 1586: 1572: 1564: 1558:. Retrieved 1553: 1543: 1535: 1529:. Retrieved 1519: 1502: 1494: 1488:. Retrieved 1481:the original 1467: 1456:. Retrieved 1451: 1442: 1437:, 2018-02-24 1422: 1410:. Retrieved 1405: 1395: 1383:. Retrieved 1378: 1368: 1354: 1340: 1328: 1315: 1303:. Retrieved 1299: 1289: 1277:. Retrieved 1273: 1263: 1251: 1237: 1229: 1223:. Retrieved 1208: 1201: 1189: 1180: 1153: 1141: 1129: 1117: 1094: 1085: 1056: 1047:Bibliography 982: 957:Visual Basic 938: 902: 879: 877: 867: 865: 856: 846: 842: 840: 837: 829: 779: 777: 768: 749: 635: 624: 607: 581:(GUIs) like 576: 556: 541: 502: 482: 468: 447: 437: 434:JET and ODBC 427: 416: 395: 376: 366: 362: 357: 355: 336: 331: 305: 285: 253: 231: 222: 218: 207: 186: 179:Embedded SQL 168: 163: 132: 91: 81:systems and 79:address book 69: 62: 60: 39: 35: 29: 2592:DirectWrite 2500:EFx Factory 2457:Silverlight 2235:Shadow Copy 2034:Data access 1939:DirectInput 1881:DirectSound 1876:DirectMusic 1825:Silverlight 1678:18 December 1556:. Microsoft 1527:. Microsoft 1412:13 December 1385:13 December 1305:13 December 1279:13 December 1194:Geiger 1995 1173:Geiger 1995 1158:Geiger 1995 1146:Geiger 1995 1134:Geiger 1995 1122:Geiger 1995 1110:Geiger 1995 1057:Inside ODBC 905:JDBC driver 884:JDBC driver 780:data source 619:instead of 548:source code 399:Oracle Corp 373:SAG and CLI 332:query trees 264:Lotus 1-2-3 223:dynamic SQL 185:code to be 129:Before ODBC 2637:Categories 2402:Crypto API 2220:PowerShell 2198:management 2161:DirectPlay 2102:Networking 2025:TypeScript 1944:DirectShow 1910:Multimedia 1896:Speech API 1815:GDI / GDI+ 1627:2016-03-28 1603:2016-03-28 1597:DB-Engines 1560:2017-01-03 1531:2010-01-13 1490:2009-10-27 1458:2009-10-27 1454:. Easysoft 1225:2010-07-28 1042:References 812:Sybase ASE 792:PostgreSQL 760:PostScript 632:ODBC today 591:PostgreSQL 570:(ADO) and 533:Windows NT 219:static SQL 2622:Uniscribe 2303:Libraries 2250:Event Log 1697:Microsoft 1693:Microsoft 1653:8 October 1095:InfoWorld 1077:Citations 808:Mimer SQL 527:, etc.), 221:, versus 195:compiling 154:from the 135:mainframe 114:mainframe 94:Microsoft 32:computing 2548:Remoting 2452:Remoting 2395:Security 2005:VBScript 1805:Direct3D 1800:Direct2D 1704:Archived 1649:. Sybase 1641:Sybase. 1431:Archived 1406:MacWorld 1014:See also 847:specific 833:spooling 816:SAP HANA 733:systems. 601:package 509:PROGRESS 423:metadata 347:Jim Gray 312:DataLens 187:embedded 164:language 2585:support 2447:ADO.NET 2442:ASP.NET 2407:CAPICOM 2283:ActiveX 2146:P2P API 2109:Winsock 2051:ADO.NET 2000:JScript 1917:DirectX 1901:XAudio2 820:IBM Db2 772:cursors 746:Drivers 625:bridges 572:ADO.net 521:Solaris 456:Paradox 211:IBM Db2 199:library 171:Fortran 137:-based 124:History 108:in the 2156:MS MPI 2061:OLE DB 1990:MSHTML 1934:Xinput 1510:  1216:  1064:  1027:(JDBC) 989:method 945:method 941:OLE DB 909:method 868:bridge 788:Oracle 711:": --> 653:": --> 638:SQLite 560:OLE DB 494:Oracle 421:, and 404:X/Open 339:Sybase 291:) and 215:SQL/DS 203:char * 156:Ingres 65:driver 56:ported 2538:MSRPC 2088:MSXML 1869:Audio 1830:WinUI 1484:(PDF) 1477:(PDF) 851:MySQL 796:MySQL 692:3.8: 685:3.5: 678:3.0: 668:2.0: 599:iODBC 595:MySQL 583:GNOME 525:Linux 517:HP-UX 460:xBase 320:dBase 316:FOCUS 262:like 243:dBASE 146:from 74:query 63:ODBC 2434:.NET 2371:NDIS 2366:WDDM 2359:UMDF 2354:KMDF 2278:COM+ 2151:MSMQ 2141:BITS 2131:NDIS 2056:ODBC 1891:XACT 1860:WinG 1680:2018 1655:2011 1508:ISBN 1414:2013 1387:2013 1307:2013 1281:2013 1214:ISBN 1062:ISBN 993:MDAC 963:and 950:MDAC 880:ODBC 818:and 713:edit 689:1997 672:1994 655:edit 617:Java 593:and 537:OS/2 492:and 458:and 444:ISAM 428:ODBC 379:Unix 367:SQLC 289:DRDA 152:QUEL 150:and 112:and 110:Unix 96:and 40:ODBC 18:ODBC 2553:WCF 2530:IPC 2520:CSF 2515:CCF 2477:WPF 2472:WCS 2467:WCF 2462:TPL 2386:VxD 2381:BDA 2376:UAA 2349:WDF 2344:WDM 2273:COM 2187:WCF 2114:LSP 2093:OPC 2046:ADO 2015:XDR 2010:BHO 1983:Web 1964:XNA 1820:WPF 917:JVM 806:), 784:CSV 764:PCL 762:or 675:2.5 529:VMS 513:AIX 448:Jet 410:'s 369:). 310:'s 295:'s 183:SQL 173:or 160:SQL 148:IBM 144:SQL 30:In 2639:: 2482:WF 1671:. 1645:. 1620:. 1594:. 1563:. 1552:. 1534:. 1493:. 1450:. 1404:. 1377:. 1298:. 1272:. 1228:. 1165:^ 1102:^ 1093:, 1010:. 1006:, 1000:C# 975:. 971:, 931:. 927:, 923:, 895:. 891:, 866:A 814:, 810:, 798:, 794:, 790:, 766:. 694:c. 687:c. 680:c. 670:c. 546:a 535:, 531:, 523:, 519:, 515:, 430:. 414:. 334:. 34:, 1773:e 1766:t 1759:v 1740:. 1682:. 1657:. 1630:. 1606:. 1580:. 1514:) 1461:. 1416:. 1389:. 1362:. 1309:. 1283:. 1245:. 1070:. 717:] 659:] 621:C 365:( 345:( 175:C 38:( 20:)

Index

ODBC
computing
application programming interface
database management systems
operating systems
ported
driver
query
address book
Microsoft Excel
comma-separated values
Microsoft
Simba Technologies
Call Level Interface
SQL Access Group
Unix
mainframe
de facto standard
mainframe
relational database
SQL
IBM
QUEL
Ingres
SQL
Fortran
C
Embedded SQL
SQL
compiling

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑