Knowledge (XXG)

Data Access Manager

Source 📝

138:(or other server commands), along with optional code to modify them before being sent to the server. For instance, a typical query document might contain a query string that would log into the database server, and if that was successful, look up the current date from the local client machine using a Mac OS call, and then use that date in a query that returns inventory in a warehouse for a given date. Query documents could also include computer code and resources needed to support this process, for instance, a dialog box asking for the username and password. 22: 156:, or DAL. DAL was essentially a standardized SQL with translators for various databases that ran on the server side. Standards for SQL were extremely basic at the time, and relatively poorly supported, DAL addressed this by having a single language and converting to and from the other systems. Client software, including DAM, could send queries in DAL's standard language which would then be translated and executed regardless of the back-end database. 175:
their particular database. DAL was generally known to be slow and expensive, seriously degrading DAM's overall value. Further, DAM did not standardize the language for accessing non-SQL data sources; an adaptor for a text file might use a non-SQL language, or a completely function-call based system instead. Nor were any simple interfaces for text files or similar data sources included with basic DAM installs.
171:). Under OBDC, every data source was made to look like a SQL server. For serverless sources, such as text files, a local SQL parser would interpret the commands and read the file. Under ODBC, all data source drivers are expected to understand SQL and translate it to the local dialect if needed, as well as convert data into standard formats when it is returned. 145:, and ran each query resource inside in turn. The DAM would ensure that any needed code in the document would be run without the application even being aware of it, and eventually, results would be passed back to the application for display. The entire operation was opaque, allowing applications to add DAM support with ease. 148:
DAM also included two more direct API's, the High Level interface, and the Low Level interface. High Level was fairly similar to using query documents, although it was expected that the application would construct the queries in code rather than resources. The High Level interface is broadly similar
137:
Like most Apple software, DAM attempted to make the query process as simple as possible for the users, both application users and programmers writing those applications. One particularly notable feature was the concept of "query documents". Query documents contained any number of pre-defined queries
174:
This difference made DAM much less useful than ODBC in practice. Since it was expected that DAL would be providing query standardization, DAM had no layer similar to ODBC's for translating different dialects. In order for DAM to be truly useful, the user also had to buy and install a DAL server for
133:
DAM and ODBC are similar in many ways. The primary purpose of both systems was to send "query strings" to a data provider, who would respond (potentially) with a "result set" consisting of rows of data. Both systems were expected to convert data to and from the system's respective formats, integers
223:
A number of other applications also used the system, perhaps ironically Microsoft's various Office products doing so with the most regularity. Other than that DAM support was fairly rare, and the product did not see widespread use. Perhaps much of this was due to the incomplete nature of the DAM
196:
databases, formerly impossible because each regional area used their own database servers which DAL now combined into one. Reorders for more stock could be made by dragging a series of ice cream scoops on a graphical display of the current warehoused inventory.
191:
system. Combining HyperCard's excellent forms system with data from DAM resulted in something that no-one had ever seen before   data-driven GUI apps. The most common demo of the system showed a HyperCard stack querying a series of
152:
One major difference between DAM and ODBC came about largely by accident. Prior to the development of DAM, Apple had purchased a database middleware product they sold as the
228:; the need for DAL middleware in most cases, and the lack of low-cost query document builders (there were some expensive ones) made the overhead of using DAM quite high. 51: 284: 134:
and strings for instance. Additionally, both provided a communications subsystem that hid the details of sending queries and data between the client and server.
113:, DAM saw little use and was eventually dropped in the late 1990s. Only a handful of products ever used it, although it was used for some extremely impressive 141:
Applications could use query documents without having any idea of the internals of the query. They simply opened the document, which consisted of a series of
149:
to ODBC's public interface. Low Level allowed the programmer to intercede at any point in the query process, retrieving data line-by-line for instance.
289: 264: 235:. A "classic" Mac OS version of ODBC was available for some time, although support was limited. Starting with the release of OS X 10.2 73: 220:. Other companies followed similar routes, and soon the event-driven database front-end was a standard feature of most systems. 188: 34: 44: 38: 30: 55: 200:
The system was so impressive that it made other database vendors scramble to provide similar systems;
217: 160: 153: 106: 159:
In contrast, ODBC was developed from the start to be a SQL-based system, based on the standardized
209: 201: 231:
Work on DAM ended in the mid-1990s, and disappeared entirely sometime before the release of
193: 102: 278: 142: 269: 255:
for processing, similar in concept to ODBC when used with a non-SQL data source.
168: 248: 184: 232: 114: 94: 252: 164: 117:
in the early 1990s. More modern versions of the classic Mac OS, and
247:
Apple has introduced a new and much "higher level" system known as
240: 118: 122: 110: 98: 15: 251:. Core Data allows developers to serialize data into 243:
cross-platform ODBC drivers. Starting with OS X 10.4
43:but its sources remain unclear because it lacks 239:, Apple started distributing a version of the 8: 74:Learn how and when to remove this message 105:, introduced in 1991 as an extension to 285:Macintosh operating systems development 183:One of the major clients for DAM was 7: 14: 290:Classic Mac OS programming tools 20: 1: 189:rapid application development 306: 270:Developing with Core Data 212:, releasing it first as 109:. Similar in concept to 29:This article includes a 187:, Apple's data manager/ 125:for this role instead. 58:more precise citations. 204:immediately purchased 218:Oracle Media Objects 161:Call-Level Interface 154:Data Access Language 265:Data Access Manager 91:Data Access Manager 210:Spinnaker Software 202:Oracle Corporation 86:Classic Mac OS API 31:list of references 167:(now part of the 84: 83: 76: 297: 79: 72: 68: 65: 59: 54:this article by 45:inline citations 24: 23: 16: 305: 304: 300: 299: 298: 296: 295: 294: 275: 274: 261: 181: 131: 87: 80: 69: 63: 60: 49: 35:related reading 25: 21: 12: 11: 5: 303: 301: 293: 292: 287: 277: 276: 273: 272: 267: 260: 259:External links 257: 194:Baskin-Robbins 180: 177: 130: 127: 103:classic Mac OS 85: 82: 81: 39:external links 28: 26: 19: 13: 10: 9: 6: 4: 3: 2: 302: 291: 288: 286: 283: 282: 280: 271: 268: 266: 263: 262: 258: 256: 254: 250: 246: 242: 238: 234: 229: 227: 221: 219: 215: 211: 207: 203: 198: 195: 190: 186: 178: 176: 172: 170: 166: 162: 157: 155: 150: 146: 144: 139: 135: 128: 126: 124: 120: 116: 112: 108: 104: 100: 96: 92: 78: 75: 67: 57: 53: 47: 46: 40: 36: 32: 27: 18: 17: 244: 236: 230: 225: 222: 213: 205: 199: 182: 173: 158: 151: 147: 140: 136: 132: 93:(DAM) was a 90: 88: 70: 61: 50:Please help 42: 216:, and then 214:Oracle Card 56:introducing 279:Categories 226:as a whole 169:Open Group 64:March 2019 249:Core Data 185:HyperCard 143:resources 233:Mac OS X 129:Concepts 115:demoware 107:System 7 101:for the 95:database 224:system 97:access 52:improve 253:SQLite 237:Jaguar 165:X/Open 121:, use 245:Tiger 241:iODBC 208:from 163:from 119:macOS 37:, or 206:PLUS 179:Uses 123:ODBC 111:ODBC 89:The 99:API 281:: 41:, 33:, 77:) 71:( 66:) 62:( 48:.

Index

list of references
related reading
external links
inline citations
improve
introducing
Learn how and when to remove this message
database
API
classic Mac OS
System 7
ODBC
demoware
macOS
ODBC
resources
Data Access Language
Call-Level Interface
X/Open
Open Group
HyperCard
rapid application development
Baskin-Robbins
Oracle Corporation
Spinnaker Software
Oracle Media Objects
Mac OS X
iODBC
Core Data
SQLite

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