목차
Contents
데이터 베이스 MySQL 튜토리얼 MDAC(Introduce to Microsoft Data Access Components)

MDAC(Introduce to Microsoft Data Access Components)

Jun 07, 2016 pm 03:39 PM
data introduce microsoft

Microsoft Data Access Components (commonly abbreviated MDAC ; also known as Windows DAC ) is a framework of interrelated Microsoft technologies that allows programmers a uniform and comprehensive way of developing applications that can acc

MDAC(Introduce to Microsoft Data Access Components)

Microsoft Data Access Components (commonly abbreviated MDAC; also known as Windows DAC) is a framework of interrelated Microsoft technologies that allows programmers a uniform and comprehensive way of developing applications that can access almost any data store. Its components include: ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC). There have been several deprecated components as well, such as the Microsoft Jet Database Engine, MSDASQL (the OLE DB provider for ODBC), and Remote Data Services (RDS). Some components have also become obsolete, such as the former Data Access Objects API and Remote Data Objects.

The first version of MDAC was released in August 1996. At that time Microsoft stated MDAC was more a concept than a stand-alone program and had no widespread distribution method. Later Microsoft released upgrades to MDAC as web-based redistributable packages. Eventually, later versions were integrated with Microsoft Windows and Internet Explorer, and in MDAC 2.8 SP1 they ceased offering MDAC as a redistributable package.

Throughout its history MDAC has been the subject of several security flaws, which led to attacks such as an escalated privileges attack, although the vulnerabilities were generally fixed in later versions and fairly promptly. The current version is 2.8 service pack 1, but the product has had many different versions and many of its components have been deprecated and replaced by newer Microsoft technologies. MDAC is now known as Windows DAC in Windows Vista.

Contents

 [hide] 
  • 1 Architecture
    • 1.1 Microsoft SQL Server Network Library
    • 1.2 OLE DB
    • 1.3 Universal data link
    • 1.4 ODBC
    • 1.5 ADO
    • 1.6 ADO.NET
  • 2 Deprecated and obsolete components
    • 2.1 Microsoft Jet Database Engine and JRO
    • 2.2 MSDASQL and Oracle ODBC
    • 2.3 Remote Data Services (RDS)
    • 2.4 SQLXML
    • 2.5 Obsolete components
  • 3 History
    • 3.1 Version-checking
  • 4 References and notes
  • 5 External links

[edit] Architecture

The latest version of MDAC (2.8) consists of several interacting components, all of which are Windows specific except for ODBC (which is available on several platforms). MDAC architecture may be viewed as three layers: a programming interface layer, consisting of ADO and ADO.NET, a database access layer developed by database vendors such as Oracle and Microsoft (OLE DB, .NET managed providers and ODBC drivers), and the database itself. These component layers are all made available to applications through the MDAC API. The Microsoft SQL Server Network Library, a proprietary access method specific to Microsoft SQL Server, is also included in the MDAC. Developers of Windows applications are encouraged to use ADO or ADO.NET for data access, the benefit being that users of the application program are not constrained in their choice of database architecture except that it should be supported by MDAC. Naturally, developers still have the choice of writing applications which directly access OLE DB and ODBC.

[edit] Microsoft SQL Server Network Library

The Microsoft SQL Server Network Library (also known as Net-Lib) is used by the Microsoft SQL Server to read and write data using many different network protocols. Though Net-Lib is specific to the SQL Server, Microsoft includes it with MDAC. The SQL Server uses the Open Data Services (ODS) library to communicate with Net-Lib, which interfaces directly with the Windows NT operating system line's Win32 subsystem. The SQL Server Network Library is controlled through the use of a Client Network Utility, which is bundled with the SQL Server.

Each Net-Lib supported network protocol has a separate driver (not to be confused with a device driver), and has support for a session layer in its protocol stack. There are two general types of Net-Lib: the primary and the secondary. The primary Net-Lib consists of a Super Socket Net-Lib and the Shared Memory Net-Lib, while there are numerous secondary Net-Libs, including TCP/IP and named pipes network libraries (named pipes are a method of communicating with other processes via a system-persistent pipeline that is given an identity). The Microsoft OLE DB Provider for SQL Server (SQLOLEDB) communicates via primary Net-Libs.

The Super Socket Net-Lib deals with inter-computer communications and coordinates the secondary Net-Libs — though the TCP/IP secondary Net-Lib is an exception in that it calls on the Windows Socket 2 API directly. The Banyan VINES, AppleTalk, ServerNet, IPX/SPX, Giganet, and RPC Net-Libs were dropped from MDAC 2.5 onwards. The Network Library router had the job of managing all these protocols, however now only the named pipes secondary Net-Lib is managed by the router. The Super Socket Net-Lib also handles data encryption via the use of the Windows SSL API.

The Shared Memory Net-Lib, on the other hand, manages connections between multiple instances of SQL Server that exist on one computer. It uses a shared memory area to communicate between the processes. This is inherently secure; there is no need for data encryption between instances of SQL Server that exist on one computer as the operating system does not allow any other process access to the instances' area of shared memory.

Net-Lib is also able to support the impersonation of a logged in user's security context for protocols that support authenticated connections (called trusted connections). This allows Net-Lib to provide an integrated logon authentication mechanism via the use of Windows Authentication. Windows Authentication is not supported on Windows 98 or Windows Me.[1]

[edit] OLE DB

OLE DB (also called OLEDB or OLE-DB) allows MDAC applications access to different types of ([data]) stores in a uniform manner. Microsoft has used this technology to separate the application from the data store that it needs to access. This was done because different applications need access to different types and sources of data, and do not necessarily need to know how to access technology-specific functionality. The technology is conceptually divided into consumers and providers. The consumers are the applications that need access to the data, and the provider is the software component that exposes an OLE DB interface through the use of the Component Object Model (or COM).

OLE DB is the database access interface technology used by MDAC. OLE DB providers can be created to access such simple data stores as a text file or spreadsheet, through to such complex databases as Oracle and SQL Server. However, because different data store technology can have different capabilities, OLE DB providers may not implement every possible interface available. The capabilities that are available are implemented through the use of COM objects—an OLE DB provider will map the data store technology's functionality to a particular COM interface. Microsoft calls the availability of an interface to be "provider-specific" as it may not be applicable depending on the database technology involved. Additionally, however, providers may also augment the capabilities of a data store; these capabilities are known as services in Microsoft parlance.

The Microsoft OLE DB Provider for SQL Server (SQLOLEDB) is the OLE DB provider that Microsoft provides for the Microsoft SQL Server from version 6.5 upwards. According to Microsoft, SQLOLEDB will be "the primary focus of future MDAC feature enhancements [and] will be available on the 64-bit Windows operating system."[2]

[edit] Universal data link

Universal data link files (or '.udl files') provide a common user interface for specifying connection attributes. A user can use a Data Link Properties dialog box to save connection information in a .udl file as an alternative to directly specifying them by hand in a connection string. Consequently, these files provide a convenient level of indirection. Additionally, the dialog box specifies a number of alternate OLE DB data providers for a variety of target applications.[3]

[edit] ODBC

Open Database Connectivity (ODBC) is a native interface that is accessed through a programming language (usually C) that can make calls into a native library. In MDAC this interface is defined as a DLL. A separate module or driver is needed for each database that must be accessed. The functions in the ODBC API are implemented by these DBMS-specific drivers. The driver that Microsoft provides in MDAC is called the SQL Server ODBC Driver (SQLODBC), and (as the name implies) is designed for Microsoft's SQL Server. It supports SQL Server v6.5 and upwards.[4] ODBC allows programs to use SQL requests that will access databases without having to know the proprietary interfaces to the databases. It handles the SQL request and converts it into a request that the individual database system understands.

[edit] ADO

ActiveX Data Objects (ADO) is a high level programming interface to OLE DB. It uses a hierarchical object model to allow applications to programmatically create, retrieve, update and delete data from sources supported by OLE DB. ADO consists of a series of hierarchical COM-based objects and collections, an object that acts as a container of many other objects. A programmer can directly access ADO objects to manipulate data, or can send an SQL query to the database via several ADO mechanisms. ADO is made up of nine objects and four collections.

The collections are:

  1. Fields: This collection contains a set of Field objects. The Collection can be used in either a Recordset object or in a Record object. In a Recordset object, each of the Field objects that make up the Fields collection corresponds to a column in that Recordset object. In a Record object, a Field can be an absolute or relative URL that points into a tree-structured namespace (used for semi-structured data providers like the Microsoft OLE DB Provider for Internet Publishing) or as a reference to the default Stream object associated with that Record object.[5]
  2. Properties: An object can have more than one Property object, which are contained in the object's Properties collection.[6]
  3. Parameters: A Command object can have several Parameter commands to change its predefined behaviour, and each of the Parameter objects are contained in the Command object's Parameters collection[7]
  4. Errors: All provider created errors are passed to a collection of Error objects, while the Errors collection itself is contained in a Connection object. When an ADO operation creates an error, the collection is cleared and a new group of Error objects are created in the collection.[8]

The objects are:

  1. Connection: The connection object is ADO's connection to a data store via OLE DB. The connection object stores information about the session and provides methods of connecting to the data store. As some data stores have different methods of establishing a connection, some methods may not be supported in the connection object for particular OLE DB providers. A connection object connects to the data store using its 'Open' method with a connection string which specifies the connection as a list of key value pairs (for example: "Provider='SQLOLEDB';Data Source='TheSqlServer'; Initial Catalog='Northwind';Integrated Security='SSPI';").[9]The start of which must identify the type of data store connection that the connection object requires. This must be either:
    • an OLE DB provider (for example SQLOLEDB), using the syntax "provider="
    • a file name, using the syntax "file name="
    • a remote provider and server (see RDS), using the syntax "Remote provider=" and "Remote server="
    • an absolute URL, using the syntax "URL="[10]
  2. Command: After the connection object establishes a session to the data source, instructions are sent to the data provider via the command object. The command object can send SQL queries directly to the provider through the use of the CommandText property, send a parameterised query or stored procedure through the use of a Parameter object or Parameters collection or run a query and return the results to a dataset object via the Execute method. There are several other methods that can be used in the Command object relating to other objects, such as the Stream, RecordSet or Connection objects.[11]
  3. Recordset: A recordset is a group of records, and can either come from a base table or as the result of a query to the table. The RecordSet object contains a Fields collection and a Properties collection.[12] The Fields collection is a set of Field objects, which are the corresponding columns in the table. The Properties collection is a set of Property objects, which defines a particular functionality of an OLE DB provider. The RecordSet has numerous methods and properties for examining the data that exists within it.[13] Records can be updated in the recordset by changing the values in the record and then calling on the Update or UpdateBatch method. Adding new records is performed through the AddNew function and then by calling on the Update or UpdateBatch method.[14] Records are also deleted in the recordset with the Delete method and then by calling on the Update method. However, if for some reason the deletion cannot occur, such as because of violations in referential integrity, then the recordset will remain in edit mode after the call to the Update method. The programmer must explicitly call on the CancelUpdate function to cancel the update. Additionally, ADO can rollback transactions (if this is supported) and cancel batch updates.[15] Recordsets can also be updated in one of three ways: via an immediate update, via a batch update,[16]or through the use of transactions:
    1. Immediate: The recordset is locked using the adLockOptimistic or adLockPessimistic lock. The data are updated at the data source after the record is changed and the Update method is called.
    2. Batch: The recordset is locked using adLockBatchOptimistic and each time Update is called the data are updated in a temporary buffer. Finally, when UpdateBatch is called the data are completely updated back at the data source. This has the advantage of it all being done in memory, and if a problem occurs then UpdateCancel is called and the updates are not sent to the data source
    3. Transaction: If the OLE DB provider allows it, transactions can be used. To start the transaction, the programmer invokes the BeginTrans method and does the required updates. When they are all done, the programmer invokes the CommitTrans method. RollbackTrans can be invoked to cancel any changes made inside the transaction and rollback the database to the state before the transaction began[17]
  4. Record: This object represents one record in the database, and contains a fields collection. A RecordSet consists of a collection of Record objects.[18]
  5. Stream: A stream, mainly used in a RecordSet object, is a means of reading and writing a stream of bytes.[19] It is mostly used to save a recordset in an XML format,[20] to send commands to an OLE DB provider as an alternative to the CommandText object and to contain the contents of a binary or text file.
  6. Parameter: A parameter is a means of altering the behaviour of a common piece of functionality, for instance a stored procedure might have different parameters passed to it depending on what needs to be done; these are called parameterised commands.[21]
  7. Field: Each Record object contains many fields, and a RecordSet object has a corresponding Field object also. The RecordSet object's Field object corresponds to a column in the database table that it references.[22]
  8. Property: This object is specific to the OLE DB provider and defines an ability that the provider has implemented. A property object can be either a built-in property — it is a well defined property implemented by ADO already and thus cannot be altered — or can be a dynamic property — defined by the underlying data provider and can be changed[23]
  9. Error: When an OLE DB provider error occurs during the use of ADO, an Error object will be created in the Errors collection.[24] Other errors do not go into an Error object, however. For instance, any errors that occur when manipulating data in a RecordSet or Field object are stored in a Status property.[25]

[edit] ADO.NET

ADO.NET is the latest version of ADO (after ADO 2.8, now often referred to as ADO Classic) and is part of the MDAC 2.8 stack alongside classic ADO. It is built around Microsoft .NET. Though sometimes seen as an evolutionary step up from ADO, some fundamental structural changes were made by Microsoft. ADO.NET runs through a .NET Managed Provider, a modified version of an OLE DB provider specifically designed for .NET. The object structure is no longer built around a Recordset object. Instead a Dataset object is used to contain data gathered from multiple sources. This is transparent to the programmer. Unlike the old ADO Recordset, the Dataset's design allows for disconnected data. Conceptually, a Dataset object can be seen as a small in-memory relational database in its own right that allows for manipulation of data in any direction (a Recordset was a forward-only reader). In order to propagate changes back into the database, a Dataadapter object is used that transfers data from between the data source and the DataSet object. Cursors were also deprecated in ADO.NET, being replaced with a Datareader object, which is used to efficiently process a large list of results one record at a time without storing them

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

간단한 3단계로 Microsoft Edge에서 테두리를 쉽게 제거하세요 간단한 3단계로 Microsoft Edge에서 테두리를 쉽게 제거하세요 Sep 02, 2023 pm 02:57 PM

많은 사용자가 Microsoft Edge의 웹 페이지 주변에 있는 흰색 테두리에 불만족합니다. 그들은 그것이 불필요하고 산만하다고 생각하고 Microsoft Edge의 베젤을 완전히 제거하도록 Microsoft에 요청하고 있습니다. 이는 "깨지지 않은 것은 고치지 말라"는 말과 비슷하지만 마이크로소프트는 이를 고려하지 않은 것 같다. 물론 내장된 광고 차단기, 추적 방지, 비밀번호 관리자 등 다양한 기능을 제공하는 인기 있는 웹 브라우저입니다. 그러나 일부 사용자는 브라우저의 웹 페이지 주위에 테두리가 있음을 알 수 있습니다. 이 테두리는 주의를 산만하게 하거나 보기 흉하게 만들 수 있으며 이를 제거하는 방법에는 여러 가지가 있습니다. r/Edge에 대한 긴 대화에서 내부가 아닌 일반 사용자 중 일부는 다음과 같은 사실을 발견했습니다.

Microsoft 365 Copilot, Bing Chat Enterprise 및 Windows Copilot 간의 주요 차이점 Microsoft 365 Copilot, Bing Chat Enterprise 및 Windows Copilot 간의 주요 차이점 Sep 23, 2023 pm 03:57 PM

현재 Microsoft는 기업 고객에게 Microsoft365Copilot, BingChatEnterprise 및 Windows의 Copilot이라는 세 가지 AI 도우미를 제공합니다. 이 세 가지 옵션의 차이점을 설명하고 싶습니다. CopilotinWindows: Windows의 Copilot은 작업을 더 빠르고 쉽게 완료하는 데 도움이 되는 강력한 도구입니다. 작업 표시줄에서 또는 Win+C를 눌러 Copilot에 원활하게 액세스할 수 있으며 사용하는 모든 응용 프로그램 옆에 도움말이 제공됩니다. Windows의 Copilot에는 새로운 아이콘, 새로운 사용자 환경 및 BingChat이 포함되어 있습니다. 2가 될 거야

Windows 10에서 Microsoft 계정에 로그인하는 방법 Windows 10에서 Microsoft 계정에 로그인하는 방법 Jan 01, 2024 pm 05:58 PM

win10 시스템에서는 마이크로소프트 계정으로 로그인이 가능하지만 아직 로그인 방법을 모르는 친구들이 많습니다. 오늘은 win10 마이크로소프트 계정으로 로그인하는 방법을 알려드리도록 하겠습니다. . win10 Microsoft 계정에 로그인하는 방법: 1. 왼쪽 하단에서 시작을 클릭하고 기어를 클릭하여 설정을 엽니다. 2. 그런 다음 "계정"을 찾아 클릭하여 엽니다. 3. 계정 입력 후 좌측의 '이메일 및 앱 계정'을 클릭하세요. 4. 그런 다음 오른쪽의 "계정 추가"를 클릭하세요. 5. 계정 인터페이스에 들어가면 첫 번째 "전망"을 클릭하면 많은 옵션이 나타납니다. 6. 나타나는 Microsoft 계정 창에 계정 번호를 입력하세요. 7. 모든 작업이 완료된 후

수정: 이 앱 패키지 설치는 지원되지 않습니다. 수정: 이 앱 패키지 설치는 지원되지 않습니다. Apr 13, 2023 am 11:43 AM

Microsoft는 UWP(Universal Windows Platform) 및 데스크톱 애플리케이션을 .msixbundles로 배포합니다. .Windows의 앱 및 AppxBundle 앱 패키지. Msixbundle, Appx 및 AppxPackage 설치 프로그램은 앱 패키지를 사이드로드하는 안정적인 방법이지만 여러 사용자는 그렇게 할 수 없습니다. "앱 패키지가 지원되지 않습니다" 오류가 나타나는 이유는 무엇입니까? 우리 독자 중 일부는 "해야합니다

OneDrive에서 '현재 계정을 사용할 수 없습니다.' 오류 수정 OneDrive에서 '현재 계정을 사용할 수 없습니다.' 오류 수정 Sep 13, 2023 am 08:33 AM

Windows에서 로그인을 시도해도 작동하지 않습니다. 그러나 Microsoft 계정을 확인한 결과 아무런 문제가 없는 것으로 나타났습니다. Windows와 웹에서 Microsoft 계정에 로그인 및 로그아웃할 수 있고 모든 서비스에 액세스할 수 있습니다. OneDrive만 영향을 받는 것으로 보입니다. 대부분의 경우와 마찬가지로 Microsoft의 오류 메시지는 너무 일반적이어서 많이 사용할 수 없기 때문에 별로 도움이 되지 않습니다. 이는 다음 설명으로 시작됩니다. "귀하의 OneDrive 또는 프로필에 비정상적으로 많은 양의 트래픽이 발생하고 있기 때문에 일시적으로 차단될 수 있습니다. 이 경우 차단은 24시간 후에 제거됩니다." 이 다음에는 또 다른 문장인 기타 가능한 이유가 이어집니다. 임시 계정 정지 목록은 다음과 같습니다: "

Windows 12는 무료 업그레이드이며 구독이 필요하지 않습니다. Windows 12는 무료 업그레이드이며 구독이 필요하지 않습니다. Oct 21, 2023 am 11:17 AM

Microsoft는 Windows 12의 구독 기반 버전을 사용하지 않으며 요금이 부과되지 않습니다. 사람들은 여전히 ​​Windows 12가 구독 기반이라는 이야기를 하고 있습니다. 이는 Windows 11 미리 보기 빌드의 코드 문자열을 기반으로 한 소문입니다. 일부 사람들은 Microsoft가 어떻게 다음 버전의 Windows를 구독 모델로 만들 계획인지 여전히 궁금해하고 있습니다. 일부 언론에서 거론된 루머는 윈도우 vNext가 아닌 윈도우 11 기반 'IoT 엔터프라이즈 구독'이었던 것으로 밝혀졌다. 모르는 사람들을 위해 설명하자면 Windows24H2 또는 WindowsvNext는 Windows 12의 공개 이름입니다. 일부 언론이 승리할 것이다

마이크로소프트 SQL 서버란 어떤 소프트웨어인가요? 마이크로소프트 SQL 서버란 어떤 소프트웨어인가요? Feb 28, 2023 pm 03:00 PM

Microsoft SQL Server는 Microsoft에서 출시한 관계형 데이터베이스 관리 시스템으로, 통합 비즈니스 인텔리전스(BI) 도구를 사용하여 엔터프라이즈 수준의 데이터 관리를 제공하는 포괄적인 데이터베이스 플랫폼입니다. 관련 소프트웨어와의 통합 정도가 높습니다. SQL Server 데이터베이스 엔진은 관계형 데이터 및 구조화된 데이터에 대한 보다 안전하고 안정적인 저장소 기능을 제공하므로 사용자는 가용성이 높은 고성능 비즈니스용 데이터 응용 프로그램을 구축하고 관리할 수 있습니다.

Windows 11 및 Windows 365에서 Clipchamp를 다운로드하고 설치하는 방법 Windows 11 및 Windows 365에서 Clipchamp를 다운로드하고 설치하는 방법 Aug 01, 2023 pm 11:34 PM

작년 9월, 우리는 Microsoft가 방금 Clickchamp를 구입하여 이를 Windows 기본 애플리케이션으로 만들 계획이라는 소식을 전해 드렸습니다. 최근 우리는 Redmond 기술 대기업이 최신 DevChannelInsider 버전에 소프트웨어를 추가할 것이라는 사실을 발견했습니다. Clipchamp에서 사용자는 백만 개 이상의 로열티 프리 동영상으로 가득 찬 스톡 라이브러리, 오디오 트랙, 동영상에 추가할 수 있는 이미지 등 더욱 독특한 제품을 찾을 수 있다고 합니다. 70개 이상의 언어로 음성 해설을 만들 수 있는 Azure 기반 텍스트 음성 변환 생성기도 있습니다. Clipchamp는 OneDrive와도 연결되므로 빠르고 안전하게

See all articles