Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Tabelle als Parameter an SQLCLR TV-UDF übergeben

Es stellt sich heraus, dass es eine feste Liste gültiger Eingaben für eine SQLCLR-Funktion gibt, die durch den verfügbaren Zuordnung zwischen .NET-Datentypen und SQL-Datentypen

Der SQL-Datentyp „Tabelle“ wird explizit als keine Zuordnung bezeichnet durch die CLR.

Ergo ist es nicht möglich, Tabellenwertdaten als Methodenparameter IN eine Tabellenwert-CLR-Funktion zu übergeben.

Alternativen

Es scheint möglich, tabellarische Daten über select ... for xml zu erhalten Verzerrungen zum Einspeisen in ein SqlXml Parameter.

Ich habe SqlConnection conn = new SqlConnection("context connection = true"); erfolgreich verwendet im .NET-Code, damit TVF die DB nach den benötigten Tabellendaten abfragen kann.