none
Dot net Assembly in SQL Server laden und benutzen RRS feed

  • Frage

  • Hi leute

    Ihc benutze sen SQL Server 2008 R2 und Visual Studio 2010 Express.

    Ich habe eine DLL programmiert mit ein web Verweis . Quelltext. 

    public

     

    class cReportingServiceRechteSetzen

    {

     

    public static string SetzeRechte (string sUrl, string sBenutzerName, int bIstAdmin){

    try{ tools.ia_rs.WebService rs = new tools.ia_rs.webservice();

    }catch (

    catch

     

    (Exception e)

    {

     

    return e.InnerException.Message + "-------" + e.Message ;

    }

    als Test sind nur diese Codezeilen drin. Mag hier vieleicht nicht ganz Syntaktisch korrekt sien. Lässt sich aber Kompilieren-

     

     

    Jetzt habe ich die DLL als Assembly eingebunden

    CREATE

    ASSEMBLY asm_RsTools

    AUTHORIZATION

    dbo

    FROM

    N'C:\tools.dll'

    WITH

    PERMISSION_SET = external_access

     im SQL Server klappte ohne probleme.  Danach habe ich eine gespeicherte funcktion die auf das Assembly verweist geschreiben und erfolgreich n SQL Server Implementiert.  Alles ohne Probleme.

    Wenn ich aber die gespeicherte funktion aufrufe im SQL Management Studio bekomme ich ein fehler:

    LoadFrom, LoadFile(), Load(byte[]) und LoadModule() wurden vom Host deaktiviert.-------Cannot load dynamically generated serialization assembly. In some hosting environments assembly load functionality is restricted, consider using pre-generated serializer. Please see inner exception for more information.

    Der Host ist aber erreichbar wenn ich es teste in einem WindowsForm projekt.

    Kann mir da vieleicht jemand helfen?

    P.S. Ich habe aus dem netz gelesen das man auch im SQL Server ein Webservice irgendwie einbiden kann aber das geht leider nicht mit dem SQL Server 2008 Express.

    Mittwoch, 2. Februar 2011 16:22

Alle Antworten

  • Hallo,

    siehe Support Eintrag KB 913668, dort findest Du auch einen möglichen Lösungsweg.

    Bei CLR Assemblies musst Du immer daran denken, das nur ein Subset der .NET Libraries verwendet werden dürfen, siehe Supported .NET Framework Libraries und wie Du in diesem Fall siehst gibt es dazu noch weitere Einschränkungen.

    Siehe auch CLR Integration Programming Model Restrictions und den weiterführenden Links dort.


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Mittwoch, 2. Februar 2011 16:55