2009-11-24 4 views
1

J'ai un projet C# composé de procédures stockées qui référencent une DLL win32 d'un autre projet dans la solution. Actuellement, dllimport utilise des chemins absolus pour le référencer. Si j'utilise un chemin relatif à la place, où est ce chemin relatif à une fois que l'assembly procs stocké par clr est chargé dans le serveur sql?Procédure SQL stockée CLR - Chemin relatif pour DllImport?

Répondre

0

Bonne question, car la DLL n'est pas physiquement disponible. Ma conjecture est que cela va regarder où l'hôte vit (par exemple les binaires SQL Server). Mais j'essaierais de trouver avec Process Monitor ou similaire sur une machine avec une instance de test; Le serveur SQL essayera de trouver le fichier et cela devrait être visible dans le journal du moniteur de processus. Cela dit, vous pouvez également utiliser les appels système LoadLibrary et GetProcAddress et lier les délégués à l'adresse que vous récupérez en utilisant la classe Marshal si nécessaire, car cela vous permet d'effectuer une liaison tardive correcte vers un chemin DLL calculé.

Questions connexes