none
Erreur exécution procédure CLR avec context connection=true RRS feed

  • Question

  • Bonjour,

    J'ai créé une procédure en C# pour la déployé sous SQL Server.

    J'ai récupéré les données dans un DataTable à partir d'une base de données pour les insérés dans une autre base à l'aide de SqlBulkCopy

    SqlBulkCopy bulkcopy = new SqlBulkCopy(cnx, SqlBulkCopyOptions.CheckConstraints, null);
    bulkcopy.DestinationTableName = "AR_SELECFACTURE";
    bulkcopy.ColumnMappings.Add("DO_PIECE", "DO_PIECE");
    bulkcopy.WriteToServer(AR_SELECFACTURE, DataRowState.Unchanged);

    mais je reçois l'erreur suivante 

    L'opération demandée n'est pas disponible sur la connexion du contexte.
    Msg 6522, Niveau 16, État 1, Procédure IntegrationFactureSage, Ligne 0
    Une erreur .NET Framework s'est produite au cours de l'exécution de la routine ou de la fonction d'agrégation définie par l'utilisateur "IntegrationFactureSage" : 
    System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
    System.NullReferenceException: 
       à DSN_CLR.ImportSageFact.IntegrationFactureSage()

    Sachant que mon assembly est UNSAFE

    ma chaine de connexion est 

    SqlConnection cnx = new SqlConnection("context connection=true");

    mais lorsque je l'ai changé à

    SqlConnection cnx = new SqlConnection(@"Data Source=.\SQL2008;Initial Catalog=GRC;Integrated Security=True");

    elle marche bien

    Merci



    • Modifié i.chafai samedi 31 août 2013 09:26
    samedi 31 août 2013 08:13

Réponses