Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/11/2011, 13h45   #1
Membre actif
 
Avatar de Issam
 
Inscription : mars 2002
Messages : 347
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2002
Messages : 347
Points : 177
Points : 177
Envoyer un message via Skype™ à Issam
Par défaut utiliser des udf "dll"

bonjour

est t'il possible d'utilser des udf contenues dans une dll avec sql server 2008 ?

si oui comment le faire avec sql management express ou autre, parceque je ne trouve pas


merci et bonne journée
Issam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 14h27   #2
Expert Confirmé Sénior
 
Homme François
Chef de projet NTIC
Inscription : janvier 2007
Messages : 5 352
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC

Informations forums :
Inscription : janvier 2007
Messages : 5 352
Points : 9 745
Points : 9 745
Si il s'agit d'UDF créés en SQLCLR, aucun soucis.

Il suffit de déclarer la DLL via l'instruction :

http://msdn.microsoft.com/fr-fr/library/ms189524.aspx


et les fonctions via :

Code :
CREATE FUNCTION ... AS EXTERNAL NAME ....
http://msdn.microsoft.com/fr-fr/library/ms186755.aspx
__________________

Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


Une réponse vous a aidé ? utiliser le bouton

"L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel
Bluedeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 14h40   #3
Membre actif
 
Avatar de Issam
 
Inscription : mars 2002
Messages : 347
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2002
Messages : 347
Points : 177
Points : 177
Envoyer un message via Skype™ à Issam
je ne connais pas SQLCLR,
mais je pense que c'est une dll écrite en c++ ou en delphi utilisée par une base firebired dont je fais la migration vers sql sqlserver ...


une idée svp ou doit je réécrire toutes les udf contenues dans cette dll avec sql server ?
Issam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 14h59   #4
Expert Confirmé Sénior
 
Homme François
Chef de projet NTIC
Inscription : janvier 2007
Messages : 5 352
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC

Informations forums :
Inscription : janvier 2007
Messages : 5 352
Points : 9 745
Points : 9 745
Citation:
Envoyé par Issam Voir le message
je ne connais pas SQLCLR,
mais je pense que c'est une dll écrite en c++ ou en delphi utilisée par une base firebired dont je fais la migration vers sql sqlserver ...
SQLCLR décrit l'usage de la CLR .Net dans le contexte de SQL SERVER.
Donc, deux questions :

est ce une DLL .Net ? (ce qui est possible tant en Delhi qu'en C++).
  • si oui, vérifier quel est bien construite pour être utilisée par SQL SERVER (convention d'écriture des fonctions et procédures - qui doivent être statiques et posséder certains attribut etutiliser certains types pour les paramètres; cf. chapitre sur le SQLCLR dans MSDN http://msdn.microsoft.com/en-us/libr...(v=VS.90).aspx)
    Si ces fonctions ont été écrites pour Firebird, il n'y a absolument aucune chance qu'elles puissent avoir été conçues pour une utilisation via SQL SERVER - et inversement d'ailleurs).
  • si non, elle n'est pas utilisable. (le plus probable).
Citation:
une idée svp ou doit je réécrire toutes les udf contenues dans cette dll avec sql server ?
cf. supra, vous avez les éléments pour connaitre la réponse.
Mais il y a peu de chances que des fonctions non écrite en SQL puissent être passées d'un SGBD à l'autre, ce type de techno n'étant pas normalisé (Oracle peut utiliser des fonctions et procédures en Java, SQL Server en .Net, etc .... mais il n'y aucune normamiosation d'opérabilité entre SGBD pour ce type d'implémentation).
__________________

Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


Une réponse vous a aidé ? utiliser le bouton

"L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel
Bluedeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 15h09   #5
Membre actif
 
Avatar de Issam
 
Inscription : mars 2002
Messages : 347
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2002
Messages : 347
Points : 177
Points : 177
Envoyer un message via Skype™ à Issam
d'accord mais comment je peux la déclarer avec sql management studio express
pour voir si ça passe ou pas
Issam est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 02/11/2011, 15h12   #6
Expert Confirmé Sénior
 
Homme François
Chef de projet NTIC
Inscription : janvier 2007
Messages : 5 352
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC

Informations forums :
Inscription : janvier 2007
Messages : 5 352
Points : 9 745
Points : 9 745
Citation:
Envoyé par Issam Voir le message
d'accord mais comment je peux la déclarer avec sql management studio express
pour voir si ça passe ou pas
Merci de relire le message.
Les éléments nécessaire ont été fournis plus haut avec les liens sur la doc pour le détail des commandes :

CREATE ASSEMBLY (pour la DLL)
et
CREATE FUNCTION .. EXTERNAL .. (pour chaque fonction).

Si il ne passe pas le CREATE ASSEMBLY, ce n'est pas la peine d'aller plus loin.
__________________

Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


Une réponse vous a aidé ? utiliser le bouton

"L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel
Bluedeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 15h20   #7
Membre actif
 
Avatar de Issam
 
Inscription : mars 2002
Messages : 347
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2002
Messages : 347
Points : 177
Points : 177
Envoyer un message via Skype™ à Issam
ah d'accord donc il faut passer par une commande .

je pensais qu'il y'avais un wizard pour ça

je vais essayer tout de suite


ps : je la mets ou la dll ?
Issam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 15h47   #8
Expert Confirmé Sénior
 
Homme François
Chef de projet NTIC
Inscription : janvier 2007
Messages : 5 352
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC

Informations forums :
Inscription : janvier 2007
Messages : 5 352
Points : 9 745
Points : 9 745
Citation:
Envoyé par Issam Voir le message
ps : je la mets ou la dll ?
Dé mémoire, où tu veux, tu spécifies juste le chemin dans le CREATE ASSEMBLY. Mais vérfie dans la doc de CREATE ASSEMBLY (tu as le lien )
__________________

Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


Une réponse vous a aidé ? utiliser le bouton

"L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel
Bluedeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 15h52   #9
Membre actif
 
Avatar de Issam
 
Inscription : mars 2002
Messages : 347
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : mars 2002
Messages : 347
Points : 177
Points : 177
Envoyer un message via Skype™ à Issam
merci pour tout
Issam est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h46.


 
 
 
 
Partenaires

Hébergement Web