---------------------------------------------------------------- Microsoft(R) OLE DB Provider für SQL Server 7.00.459 - Infodatei ---------------------------------------------------------------- (c) 1998 Microsoft Corporation. Alle Rechte vorbehalten. Dieses Dokument enthält aktuelle sowie allgemeine Informationen, die als Ergänzung zur Dokumentation zu Microsoft OLE DB Provider für SQL Server dienen. ------ INHALT ------ 1. PRODUKTBESCHREIBUNG 2. TECHNISCHE HINWEISE ---------------------- 1. PRODUKTBESCHREIBUNG ---------------------- SQLOLEDB, der Microsoft OLE DB Provider für SQL Server, bietet Benutzern Schnittstellen, um auf Daten auf einem oder mehreren SQL Servern zuzugreifen. ---------------------- 2. TECHNISCHE HINWEISE ---------------------- 2.1 Änderungen der SQLOLEDB-Eigenschaften Beachten Sie die folgenden Änderungen der SQLOLEDB-Eigenschaften: * Die Eigenschaft DBPROP_INIT_DATASOURCE wird jetzt zur Angabe eines Servernamens verwendet, der SQL Server ausführt. Die Eigenschaft wird nicht mehr zur Angabe eines Datenbanknamens verwendet. * Die Eigenschaft DBPROP_INIT_CATALOG wird jetzt zur Angabe der anfänglichen Datenbank verwendet. * Die Eigenschaft DBPROP_INIT_LOCATION wird nicht mehr unterstützt. * Die neue Version unterstützt die Eigenschaft DBPROP_AUTH_INTEGRATED. Wenn für DBPROP_AUTH_INTEGRATED 'SSPI' festgelegt wurde, wird integrierte Sicherheit verwendet. Wenn Null-BSTR-Zeiger festgelegt wurde, wird SQL Server-Sicherheit verwendet. * Die Eigenschaft SSPROP_AUTH_TRUSTEDCONNECTION wird nicht mehr unterstützt. * Die Provider-spezifische Eigenschaft DBPROP_INIT_MODE wird nicht mehr unterstützt. 2.2 Beim Versuch, einen Befehl an einer Verbindung auszuführen, an der gerade ein Befehl ausgeführt wird, erstellt SQLOLEDB eine neue Verbindung zur Verarbeitung des neuen Befehls, wenn folgende Bedingungen zutreffen: * für DBPROP_MULTIPLECONNECTIONS wurde der Wert VARIANT_TRUE festgelegt. * der erste Befehl hat keine Zeilengruppe erstellt oder keinen Servercursor verwendet. * die Verbindung hat keine aktive Transaktion. Wenn die Verbindung eine aktive Transaktion hat, wird beim Versuch, einen zweiten Befehl auszuführen, E_FAIL zurückgegeben. Wenn keine aktive Transaktion vorliegt, jedoch für DBPROP_MULTIPLECONNECTIONS der Wert VARIANT_FALSE festgelegt wurde, wird beim Versuch, einen zweiten Befehl auszuführen, DB_E_OBJECTOPEN zurückgegeben. SQL Server verwaltet Transaktionen und Sperrungen für jede Verbindung einzeln. Wenn eine zweite Verbindung hergestellt wird, verwenden die Befehle der separaten Verbindung Sperrungen nicht gemeinsam. Achten Sie darauf, daß sich Befehle nicht gegenseitig blockieren, indem sie Zeilen sperren, die von dem anderen Befehl angefordert werden. 2.3 Um den Netzwerkverkehr zu reduzieren und damit die Leistung zu verbessern, ruft SQLOLEDB nicht automatisch Parameterinformationen ab, es sei denn, vor dem Ausführen eines Befehls wird ICommandWithParameters::GetParameterInfo oder ICommandPrepare::Prepare aufgerufen. Das bedeutet, daß SQLOLEDB die folgenden Vorgänge nicht automatisch ausführt: * Überprüfen der Richtigkeit des Datentyps, der mit ICommandWithParameters::SetParameterInfo angegeben wurde. * Zuordnen des DBTYPE, der in den Bindungsinformationen des Zugriffsberechtigten angegeben wurde, um den SQL-Datentyp für den Parameter zu korrigieren. Bei Verwendung dieser Methode erhalten Anwendungen u.U. Fehler oder verlieren an Genauigkeit, wenn sie Datentypen angeben, die nicht mit dem SQL-Datentyp des Parameters kompatibel sind. Zur Vermeidung dieser Situation sollte die Anwendung: * beim Hardcoding von ICommandWithParameters::SetParameterInfo sicherstellen, daß pwszDataSourceType mit dem SQL-Datentyp für den Parameter übereinstimmt. * beim Hardcoding eines Zugriffsberechtigten sicherstellen, daß der an den Parameter gebundene DBTYPE derselbe Typ wie der SQL-Datentyp für den Parameter ist. * die Anwendung kodieren, damit sie ICommandWithParameters::GetParameterInfo aufruft und der Provider die SQL-Datentypen der Parameter dynamisch abrufen kann. Hierdurch wird ein zusätzlicher Netzwerkumlauf zum Server verursacht. 2.4 DBPROP_CHANGEINSERTEDROWS kann nur auf VARIANT_TRUE gesetzt werden, wenn der Zeilensatz einen treffermengengesteuerten Cursor verwendet.