OPENROWSET (DMX)

Ersetzt die Quelldatenabfrage durch eine Abfrage an einen externen Anbieter. Die Anweisungen INSERT, SELECT FROM PREDICTION JOIN und SELECT FROM NATURAL PREDICTION JOIN unterstützen OPENROWSET. Weitere Informationen zur Syntax für bestimmte Anbieter finden Sie unter OPENROWSET (Transact-SQL).

Syntax

OPENROWSET(provider_name,provider_string,query_syntax)

Argumente

  • provider_name
    Der Name eines OLE DB-Anbieters.

  • provider_string
    Die OLE DB-Verbindungszeichenfolge für den angegebenen Anbieter.

  • query_syntax
    Eine Abfragesyntax, die ein Rowset zurückgibt.

Hinweise

Sie können auf dem Analysis Services-Server eine Eigenschaft festlegen, um Ad-hoc-Abfragen mithilfe von OPENROWSET zuzulassen. Es wird jedoch empfohlen, stattdessen OPENQUERY zu verwenden. Bei der Verwendung von OPENQUERY können Sie steuern, auf welche Datenquellen die Benutzer zugreifen können, während Benutzer mit OPENROWSET potenziell Datenbanktabellen anzeigen können, die nicht mit Data Mining-Tasks verbunden sind.

Wenn Sie Ad-hoc-Abfragen mithilfe von OPENROWSET zulassen, sollten Sie die Anbieter, die zum Instanziieren einer Verbindung mit dem Server und der Datenbank verwendet werden können, durch Angeben einer Anbieter-ID beschränken. Weitere Informationen finden Sie unter Data Mining-Eigenschaften.

Die genaue Syntax für OPENROWSET ist vom angegebenen Anbieter abhängig. Im Allgemeinen stellt der Data Mining-Anbieter mithilfe von provider_name und provider_string eine Verbindung mit dem Datenquellenobjekt her und führt die in query_syntax angegebene Abfrage aus, um das Rowset aus den Quelldaten abzurufen.

Beispiele

Im folgenden Beispiel wird eine PREDICTION JOIN-Anweisung dargestellt, die mithilfe einer Transact-SQL SELECT-Anweisung Daten aus der Tabelle "ProspectiveBuyers" der AdventureWorksDW2008-Datenbank abruft und einen Cluster für jeden neuen Kunden vorhersagt.

Die Benutzer-ID DMUser ist ein SQL-Anmeldename, dem eine Leseberechtigung für die Datentabelle erteilt wurde, in der neue Kunden gespeichert werden. Beachten Sie, dass Kennwörter in OPENROWSET in Klartext angezeigt werden und daher ein Sicherheitsrisiko darstellen. Es wird empfohlen, stattdessen OPENQUERY zu verwenden und relationale Datenquellen mit einer möglichst niedrigen Zugriffsstufe zu sichern.

Die ersten drei Felder in der SELECT-Klausel der OPENROWSET-Anweisung werden nicht vom Modell für die Vorhersage verwendet, sondern sind nützlich zum Identifizieren von Kunden. Die für Vorhersagen verwendeten Spalten müssen Eingabespalten im Modell zugeordnet werden, indem sie der ON-Klausel hinzugefügt werden.

SELECT
  t.[ProspectiveBuyerKey], t.[LastName], t.[FirstName],
  Cluster()
FROM
  [TM_Clustering]
PREDICTION JOIN
  OPENROWSET('SQLOLEDB','localhost';'DMUser';'&IZqw3x&',
    'SELECT
      [ProspectiveBuyerKey], [FirstName],[LastName],
      [MaritalStatus],
      [Gender],
      [YearlyIncome],
      [TotalChildren],
      [NumberChildrenAtHome],
      [HouseOwnerFlag],
      [NumberCarsOwned]
    FROM
      [AdventureWorksDW2008].[dbo].[ProspectiveBuyer]
    ') AS t
ON
  [TM_Clustering].[Marital Status] = t.[MaritalStatus] AND
  [TM_Clustering].[Gender] = t.[Gender] AND
  [TM_Clustering].[Yearly Income] = t.[YearlyIncome] AND
  [TM_Clustering].[Total Children] = t.[TotalChildren] AND
  [TM_Clustering].[Number Children At Home] = t.[NumberChildrenAtHome] AND
  [TM_Clustering].[House Owner Flag] = t.[HouseOwnerFlag] AND
  [TM_Clustering].[Number Cars Owned] = t.[NumberCarsOwned]

Beispielergebnisse: