Domanda

Sto cercando di utilizzare la libreria di crittografia Chilkat in SQL Server 2008 tramite un CLR montaggio. A causa di come la biblioteca Chilkat è mettere insieme (vedere il loro messaggio qui sotto), non posso fare questo bisogno direttamente e di creare un wrapper di classe che i riferimenti alla biblioteca Chilkat, eppure è completamente gestiti il ??modo in cui richiede SQL Server.

Di seguito è la risposta da Chilkat quando ho chiesto su come interfacciare la propria libreria direttamente da SQL Server (la versione breve è che non si può).

Il Chilkat .NET assembly è un modalità mista assemblaggio, il che significa che il implementazione è scritto in C ++ e compilato in codice nativo. L'esterno strato è un'interfaccia gestita. Io ho imparato da altri clienti nel passato che in questa situazione è possibile risolvere il problema creando un semplice libreria di classe wrapper in Visual Studio (Completamente gestito) la cui fascia il montaggio fa riferimento al Chilkat montaggio, e gli oggetti SQL Server invece riferimento wrapper montaggio. Dato che siete probabilmente solo chiamare una manciata di Chilkat metodi (e proprietà), non dovrebbe essere molto lavoro da scrivere pochi metodi inoltrare la chiamata alla avvolto oggetto chilkat, e restituire il risultato.

Ok. Quindi, ecco il problema. Quando creo un progetto CLR in Visual Studio 2008, sono completamente in grado di aggiungere qualsiasi riferimento alla libreria Chilkat (o qualsiasi altro per quella materia). V'è non Sfoglia / pulsante / link o qualsiasi altra cosa per aggiungere una libreria di riferimento aggiuntivo. E 'semplicemente non c'è.

Si prega di aiuto prima che io sono costretto a ricorrere a Clipper o dBase3 +!

indicazioni:. SQL Server 2008, Visual Studio 2008, la biblioteca di valutazione Chilkat aprile 2011

È stato utile?

Soluzione

SQL Server è un pignolo po 'su ciò che gli assembly CLR che sarà permettono di essere caricati e Visual Studio impedisce di aggiungere qualsiasi vecchio riferimento assemblaggio volenti o nolenti.

Questo è perché è necessario caricare assembly di terze parti tramite il Nuova Assemblea strumento trovato sotto il nodo "programmabilità" per il database (clic destro su Assemblee), oppure utilizzando CREATE ASSEMBLY .

In questo modo SQL Server la possibilità di ispezionare il montaggio e validate per assicurare che si tratta di un tipo supportato per l'utilizzo con l'integrazione di SQL CLR. Si fa questo per garantire che l'assemblea non è probabile che ad uccidere problemi del server SQL o di stabilità causa.

Questa sezione della linea di SQL copre restrizioni SQL CLR:

CLR Integrazione Programmazione Restrizioni Girl

Il Chilikat assemblea non riuscirà a PEVerify Test (descritto nella sezione EXTERNAL_ACCESS) poiché la modalità mista assiemi contenente funzioni non gestite non sono verificabili digitare il codice di sicurezza.

Se si tenta di installare una modalità mista non verificabile assemblea allora si otterrà un errore come:

CREATE ASSEMBLY per l'assemblaggio 'ChilkatDotNet2' non è riuscita perché assembly 'ChilkatDotNet2' non è valido o meno un assembly .NET puro. Unverifiable PE Intestazione / stub nativo. (Microsoft SQL Server, errore: 6544)

C'è un thread di discussione qui che copre questo argomento e alcuni arounds di lavoro suggerite.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top