Kwestie projektowania architektonicznego OLE DBOLE DB Architectural Design Issues

Uwaga

Kreator użytkownika ATL OLE DB nie jest dostępny w programie Visual Studio 2019 i nowszych.The ATL OLE DB Consumer wizard is not available in Visual Studio 2019 and later. Można nadal ręcznie dodawać funkcje.You can still add the functionality manually. Aby uzyskać więcej informacji, zobacz Tworzenie klienta bez korzystania z Kreatora.For more information, see Creating a Consumer Without Using a Wizard.

Przed uruchomieniem aplikacji OLE DB należy wziąć pod uwagę następujące problemy:Consider the following issues before starting your OLE DB application:

Jakiej implementacji programowania będziesz używać do pisania aplikacji OLE DB?What programming implementation will you use to write your OLE DB application?

Firma Microsoft oferuje kilka bibliotek do wykonania tego zadania: biblioteki szablonów OLE DB, atrybutów OLE DB i nieprzetworzonych interfejsów OLE DB w OLE DB SDK.Microsoft offers several libraries to accomplish this task: an OLE DB Template library, OLE DB attributes, and the raw OLE DB interfaces in the OLE DB SDK. Ponadto istnieją kreatory, które pomagają napisać program.Also, there are wizards that help you write your program. Te implementacje są opisane w OLE DB szablony, atrybuty i inne implementacje.These implementations are described in OLE DB Templates, Attributes, and Other Implementations.

Czy musisz napisać własnego dostawcę?Do you need to write your own provider?

Większość deweloperów nie musi pisać własnego dostawcy.Most developers don't need to write their own provider. Firma Microsoft udostępnia kilku dostawcom.Microsoft provides several providers. Za każdym razem, gdy tworzone jest połączenie danych (na przykład podczas dodawania odbiorcy do projektu za pomocą kreatora ATL OLE DB Consumer), okno dialogowe Właściwości łącza danych zawiera listę wszystkich dostępnych dostawców zarejestrowanych w systemie.Whenever you create a data connection (for example, when you add a consumer to your project using the ATL OLE DB Consumer Wizard), the Data Link Properties dialog box lists all the available providers registered on your system. Jeśli jeden z dostawców jest odpowiedni dla własnego magazynu danych i aplikacji do uzyskiwania dostępu do danych, najłatwiejszym rozwiązaniem jest użycie jednego z nich.If one of the providers is appropriate for your own data store and data access application, the easiest thing to do is to use one of these. Jeśli jednak magazyn danych nie pasuje do jednej z tych kategorii, należy utworzyć własnego dostawcę.However, if your data store doesn't fit one of these categories, you have to create your own provider. Aby uzyskać informacje na temat tworzenia dostawców, zobacz OLE DB szablonów dostawców.For information about creating providers, see OLE DB Provider Templates.

Jakiego poziomu pomocy technicznej potrzebujesz dla konsumenta?What level of support do you need for your consumer?

Niektórzy klienci mogą być podstawową. inne mogą być złożone.Some consumers can be basic; while others can be complex. Funkcja obiektów OLE DB jest określana przez właściwości.The functionality of OLE DB objects is specified by properties. W przypadku utworzenia dostawcy za pomocą kreatora ATL OLE DB klienta programu lub Kreatora dostawcy bazy danych ustawia on odpowiednie właściwości obiektu, aby zapewnić standardowy zestaw funkcji.When you use the ATL OLE DB Consumer Wizard to create a consumer or the Database Provider Wizard to create a provider, it sets the appropriate object properties for you to give you a standard set of functionalities. Jeśli jednak klasy klienta lub dostawcy generowane przez kreatora nie obsługują wszystkiego, czego potrzebujesz, należy odwołać się do interfejsów dla tych klas w bibliotece szablonów OLE DB.However, if the wizard-generated consumer or provider classes don't support everything you need them to do, you need to refer to the interfaces for those classes in the OLE DB Templates Library. Te interfejsy zawijają nieprzetworzone interfejsy OLE DB, zapewniając dodatkową implementację, aby ułatwić korzystanie z nich.These interfaces wrap the raw OLE DB interfaces, providing extra implementation to make using them easier for you.

Na przykład jeśli chcesz zaktualizować dane w zestawie wierszy, ale nie chcesz go określić podczas tworzenia konsumenta przy użyciu kreatora, możesz określić funkcje po tym fakcie, ustawiając DBPROP_IRowsetChange DBPROP_UPDATABILITY właściwości i w obiekcie Command.For example, if you want to update data in a rowset, but forgot to specify this when you created the consumer with the wizard, you can specify the functionality after the fact by setting the DBPROP_IRowsetChange and DBPROP_UPDATABILITY properties on the command object. Następnie, gdy zestaw wierszy zostanie utworzony, ma IRowsetChange interfejs.Then, when the rowset is created, it has the IRowsetChange interface.

Czy masz starszy kod korzystający z innej technologii dostępu do danych (ADO, ODBC lub DAO)?Do you have older code using another data access technology (ADO, ODBC, or DAO)?

Uwzględniając możliwe kombinacje technologii (takich jak używanie składników ADO ze składnikami OLE DB i migrowanie kodu ODBC do OLE DB), obejmując wszystkie sytuacje, wykraczając poza zakres dokumentacji Visual C++.Given the possible combinations of technologies (such as using ADO components with OLE DB components and migrating ODBC code to OLE DB), covering all situations is beyond the scope of the Visual C++ documentation. Wiele artykułów obejmujących różne scenariusze jest jednak dostępnych w następujących witrynach sieci Web firmy Microsoft:However, many articles covering various scenarios are available on the following Microsoft web sites:

Zobacz teżSee also

Programowanie OLE DBOLE DB Programming
Omówienie programowania OLE DBOLE DB Programming Overview