sql >> Databasteknik >  >> RDS >> Sqlserver

SqlFunction kan inte öppna kontextanslutning trots att DataAccessKind.Read finns

Problemet är följande:

  1. SQLCLR tillåter ingen dataåtkomst inuti TestFillRow

  2. Även om det "ser ut" som att din TestFillRow inte kommer åt data, är sättet som kompilatorn översätter kod med "yield"-satser genom att faktiskt skjuta upp dess exekvering tills det första .MoveNext()-anropet till iteratorn. Därför följande uttalande:

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

    exekveras i TestFillRow ... vilket är olagligt.

Använd inte avkastning; ladda istället hela resultatet till en List<> och returnera listan i slutet av UD-funktionen.



  1. MySQL - InnoDB vs MyISAM

  2. Pinga en MySQL-server

  3. ORA-27101:delat minnesrike existerar inte

  4. Varför kan du inte överföra MYSQL-funktioner till förberedda PDO-satser?