Festlegen von Eigenschaften im Anbieter
Aktualisiert: November 2007
Suchen Sie die Eigenschaftengruppe und Eigenschaften-ID der gewünschten Eigenschaft. Weitere Informationen finden Sie in der OLE DB Programmer's Reference unter OLE DB Properties (nur auf Englisch verfügbar).
Suchen Sie in dem vom Assistenten generierten Anbietercode die Eigenschaftenzuordnung, die der Eigenschaftengruppe entspricht. Der Name der Eigenschaftengruppe stimmt in der Regel mit dem Objektnamen überein. Befehls- und Rowseteigenschaften finden Sie normalerweise im Befehl oder Rowset und Datenquellen- bzw. Initialisierungseigenschaften im Datenquellenobjekt.
Fügen Sie der Eigenschaftenzuordnung ein PROPERTY_INFO_ENTRY_EX-Makro hinzu. PROPERTY_INFO_ENTRY_EX verfügt über vier Parameter:
Die Eigenschaften-ID der Eigenschaft. Die ersten sieben Zeichen ("DBPROP_") am Anfang des Eigenschaftennamens müssen entfernt werden. Wenn Sie beispielsweise DBPROP_MAXROWS hinzufügen möchten, übergeben Sie MAXROWS als erstes Element. Handelt es sich um eine benutzerdefinierte Eigenschaft, übergeben Sie den vollständigen GUID-Namen (z. B. DBMYPROP_MYPROPERTY).
Den Variantentyp der Eigenschaft (siehe OLE DB Properties in der OLE DB Programmer's Reference, nur auf Englisch verfügbar). Geben Sie den VT_-Typ (z. B. VT_BOOL oder VT_I2) ein, der dem Datentyp entspricht.
Flags, die angeben, ob die Eigenschaft Lese- und Schreiboperationen unterstützt, sowie die Gruppe, zu der sie gehört. Durch folgenden Code wird beispielsweise eine Lese-/Schreibeigenschaft angegeben, die der Rowsetgruppe angehört:
DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE
Den Basiswert der Eigenschaft. Dies kann z. B. VARIANT_FALSE für einen booleschen Typ oder 0 (null) für einen ganzzahligen Typ sein. Der Eigenschaftenwert bleibt bis zu seiner Änderung erhalten.
Hinweis: Einige Eigenschaften sind mit anderen Eigenschaften verbunden oder verkettet, z. B. Lesezeichen- oder Aktualisierungseigenschaften. Wenn ein Consumer eine Eigenschaft auf true setzt, sind u. U. auch andere Eigenschaften davon betroffen. Die OLE DB-Anbietervorlagen unterstützen diesen Umstand durch die CUtlProps::OnPropertyChanged-Methode.
Von den OLE DB-Anbietern von Microsoft ignorierte Eigenschaften
Die folgenden OLE DB-Eigenschaften werden von den OLE DB-Anbietern von Microsoft ignoriert:
DBPROP_MAXROWS ist nur für schreibgeschützte Anbieter geeignet (bei denen DBPROP_IRowsetChange und DBPROP_IRowsetUpdate den Wert false haben); andernfalls wird diese Eigenschaft nicht unterstützt.
DBPROP_MAXPENDINGROWS wird ignoriert; der Anbieter legt eigene Begrenzungen fest.
DBPROP_MAXOPENROWS wird ignoriert; der Anbieter legt eigene Begrenzungen fest.
DBPROP_CANHOLDROWS wird ignoriert; der Anbieter legt eigene Begrenzungen fest.