sql >> Database teknologi >  >> RDS >> Sqlserver

SqlFunction kan ikke åbne kontekstforbindelse på trods af DataAccessKind.Read tilstede

Problemet er følgende:

  1. SQLCLR tillader ikke nogen dataadgang inde i TestFillRow

  2. Selvom det "ser ud", som om din TestFillRow ikke har adgang til data, er den måde, compileren oversætter kode med "yield"-sætninger, ved faktisk at udskyde dens eksekvering indtil det første .MoveNext()-kald til iteratoren. Derfor følgende udtalelse:

    using (SqlConnection con = new SqlConnection("context connection=true"))        
    

    bliver udført inde i TestFillRow ... hvilket er ulovligt.

Brug ikke afkastafkast; indlæs i stedet hele resultatet til en List<> og returner listen i slutningen af ​​UD-funktionen.



  1. hvordan får man detaljer fra flere borde?

  2. MySQL forklarer forespørgselsforståelse

  3. Er der nogen måde at udføre en forespørgsel inde i strengværdien (som eval) i PostgreSQL?

  4. Vis SQLite-data i RecyclerView