Accueil > Forum > > > > Procédures stocké et compatibilité entre SGDB
Procédures stocké et compatibilité entre SGDB
mercredi 13 août 2008 à 10:36:26 |
Procédures stocké et compatibilité entre SGDB

Polack77
|
Bonjour  , Je développe actuellement un logiciel de gestion de données (le détail de l'appli n'apporte pas grand chose à mes questions je pense). Problème il faut que ce programme puisse se connecté à tout type de SGBD (tout du moins à tout SGBD poste 1995, soit un peut plus de 10 ans, je peut re-limité légèrement ce choix). Du coup en final je me retrouve (pour évité de surcharger le réseau) à développe deux application : un serveur (se connecte en local au SGBD, fait les traitements et calculs), un client (qui se connecte à l'appli serveur, affiche les données et retransmet les actions utilisateur). Si possible je voudrais (par l'intermédiaire de procédure stocké) m'affranchir de l'appli serveur. Suite à quelque recherche je remarque que les procédures stockées écrite en SQL n'ont pas la même syntaxe suivant les SGBD  . Mais j'ai crue également voire qu'une procédure stocké peut s'écrire en C  (et sa c'est bien). Dans ce cas la syntaxe devrais être le même sur tout les SGBD (soit la syntaxe du C, forcément  ). A condition que ce SGBD supporte les procédures stockées en C bien sure (il y en à beaucoup qui ne le supporte pas ?). (Question 1 :) Je me trompe ? Heeeeeeee  , par contre je n'es fait que TRÈS peut de procédure stocké (et jamais en C) dans ma pitite vie de programmeur. (Question 2 :) Comment je fait ? Je transmet directement une dll déjà compilé, ou le code programme en C et le SGBD le compil (à moin que je n'es le choix) ? (Question 3 :) Pourriez-vous me donnée un lient vers un tuto ou un exemple de création de procédure stocké en C. Merci par avance  Amicalement  Pensez "Réponse acceptée"
|
|
mercredi 13 août 2008 à 19:55:49 |
Re : Procédures stocké et compatibilité entre SGDB

nhervagault
|
Salut,
Je pense que tu es sur une mauvaise piste, les procédures stokée ont un langage différent selon les bases de données
exemple Oracle (java, PL/SQL,C,Cobol, ..) DB2 (COBOL,C,SQL PL , java?,....) SQLServeur (TSQL, C#, VB.Net) MYSQL (nouveautés)
Donc il y a de compatibilité entre les différentes bases aux niveaux procedures stockées Il faut sinon ecrire les procedures stockées dans chaque langage
Tu peux faire que de la compatibilité au niveau SQL, il faut que les types soit en SQL 92 ou plus Avec ADO.NET tu peux normalement gérer une abstraction.
http://msdn.microsoft.com/fr-fr/library/bb469872.aspx
|
|
jeudi 14 août 2008 à 09:47:24 |
Re : Procédures stocké et compatibilité entre SGDB

Polack77
|
Merci pour ta réponse  Donc pas possible de faire ce que je veut  .... Pas glop  Heeeeeeeee  pas contre je n'es pas compris un truc : Tu dit : 8<----------------- Oracle (java, PL/SQL,C,Cobol, ..) DB2 (COBOL,C,SQL PL , java?,....) SQLServeur (TSQL, C#, VB.Net) MYSQL (nouveautés) ----------------->8 Dans la liste que tu me donne je vois que le C est compatible avec : Oracle, DB2, SQLServeur (le C# reste compatible avec le C, comme le C++ à sont époque, enfin je crois  ). La syntaxe est différente suivant les types de SGBD, même en C    (Je peut interdire l'utilisation de MySQL sans problèmes en cas de besoin) Amicalement  Pensez "Réponse acceptée"
|
|
jeudi 14 août 2008 à 10:06:19 |
Re : Procédures stocké et compatibilité entre SGDB

nhervagault
|
Non c# est un langage basé sur le framework dotnet donc pas du tout compatible avec du C. C c'est procédural, C# c'est objet
Et les API sont payantes sur les bases de données et leur API (interface de programmation différentes)
Et tres peu de documentation, meme c'est peu etre plus utilisé ???
En général, les procédures sont écrites dans un langae natif pour : 1-->Gagner en performance (plus proche de la base de données) 2-->Etre dans un langage compilé et non interprété (plus rapide) 3-->Fonction lente ou inexistante (chaine de caractere, regexp)
Tu perds ton temps a chercher de ce coté-ci désolé.
|
|
jeudi 14 août 2008 à 10:40:08 |
Re : Procédures stocké et compatibilité entre SGDB

Polack77
|
Désolé d'être chiant, mais si j'arrivais quand même à le faire sa me ferais gagné en temps FOUT donc je cherche quand même encore un peut  : En effet je viens de vérifier le C# n'est pas tout à fait compatible avec le C "classique" mais on doit pouvoir faire des fonctions/procédures qui fonctionneront en C et en C# (à moins que mon idéalisme est encore pris le dessus  ). Exemple : En C : int a[5]; En C# : int[] a = new int[5]; Mais sa, sa devrais être bon en C comme en C# : int* a; a = malloc(sizeof(int) * 5); (Ok c'est pas top propre, et il faut IMPERATIVEMENT pensé au "free(a)". Mais sa reste plus rapide que de lancé mes traitements en SQL (SQL92 en plus) ) Dernière question :Une procédure stocké écrite en C "classique" devrais au minimum compatible entre Oracle et DB2 ? A moins que les types ne change, et alors là,  c'est foutu  (encore que par allocation dynamique en utilisant des sizeof...). PS : Malgré mon apparente insistance je commence à pensé qu'il vaut mieux que je fasse mon appli client serveur. Sa me feras perdre du temps mais bon, si il faut le faire  (au faite merci pour le lient msdn  ) Amicalement Pensez "Réponse acceptée"
|
|
jeudi 14 août 2008 à 11:41:45 |
Re : Procédures stocké et compatibilité entre SGDB

nhervagault
|
Réponse acceptée !
Pour moi tu es sur une fausse piste.
Tu n'a pas besoin de faire de serveur, si tes clients lourd peuvent se connectée directement à la base de données. Il suffit que ta couche d'abstraction de base de données soit dans le code source de ton appli cliente.
Le top c'est de faire ton appli serveur en WCF (service web ou autre) . Apres l'architecture dépend des réels besoins de ton application et de son oiuverture (intranet/extranet/firewall)
De toute facon dans la solution que tu présente c'est le client qui appel en directe les procedures stockées. A la place il devrait appellé des webservices qui appel soit des proc stocks soit des requetes directe (plus portable cf lien MSDN plus haut)
HIBERNATE et les autre outil de mapping sont basés sur ce principe utilisatation de dialectes propres a chaque base pour créer des requetes dynamiques.
|
|
jeudi 14 août 2008 à 12:07:10 |
Re : Procédures stocké et compatibilité entre SGDB

Polack77
|
Oui mes clients peuvent se connecté directement à la base. Le problème vient de l'occupation du réseau. Je fait des gros calcul (sur environ 20 000 ligne de la base à chaque fois) pour sortir en final une petite dizaine de résultat en long et string, 200 oct max par couple string long, donc 2 ko ~ de données à exploité alors qu'il faut 1 000 foix plus (à la louche) pour calculé ces valeurs (calcul ne se fessant en prime pas toujours sur les même lignes de la base, de plus la base complétte est relativement grosse ~ 150 000 lignes, donc pas de mode déconnectée) Le coup des web services est une bonne idée. Je pense je vais regarder de ce coté  Merci du temps investie à mon problème  Amicalement  Pensez "Réponse acceptée"
|
|
jeudi 14 août 2008 à 13:42:43 |
Re : Procédures stocké et compatibilité entre SGDB

nhervagault
|
C'est pas des gros volumes 20 000 lignes de base de données les bases de données savent gérer sans problèmes.
Tu as trois solutions : --> Soit faire les calculs sur la base procédures stockées --> Soit dans un programme type webservice (20 000 en entrées --> 10 lignes en sorties) --> Soit sur le client meme chose que sur le webservice (mais plus de circulation réseu) quoique le webservice peut etre sur une autre machine que la base -> revient au même qu'avec un client (un peu plus verbeux car comm reseau ws client en plus)
Il y a peu etre possibilité de faire des vues pour préfiltrer tes lignes avant tes calculs --> moins de traitements et plus optimisé.
Je ne pense pas que le volume indiqué est vraiement la source du problème. Quand on voit le poids des page html > 60 ko sans les images c'est rapide afficher. A moins que tu es sur de l'embarqué. Le problème vient surement que ta base n'est pas bien optimisée (pas d'index, ....) ou que tes requetes sont mal faites.
|
|
jeudi 14 août 2008 à 14:18:25 |
Re : Procédures stocké et compatibilité entre SGDB

Polack77
|
Non non, en final le vrais problème vient du réseau de mon client (encore en base 10 et déjà plusieurs application réseau qui font que sa raaaaaaaaaaaaaaaaaaaaaaame). Je pense gardé la solution du WCF Merci pour ces précisions  Amicalement  Pensez "Réponse acceptée"
|
|
Cette discussion est classée dans : appli, procédure, sgbd, stocké, procédures
Répondre à ce message
Sujets en rapport avec ce message
ms access - sqlserver - procédurestockée [ par metasky ]
bonjour,je suis actuellement sur une appli liant access et sqlserver...quand je consulte mes procédures stockées dans mon projet access les noms de to
procédure stocké de recherche sous oracle 9i [ par djerbino ]
bonjour je galere depuis pas mal de temp et je je compte sur votre aide je suis entrain de realiser une procédure stocké sous oracle 9i mais jai un pr
if dans une procédure stocké ? [ par jesusonline ]
Bonjour, je ne connais pas encore SQLj'ai une table articles qui a un champ ID et je voudrais une fonction stocké qui prend en paramètre un ID et qui
Like dans une procédure stockée [ par veronique1 ]
Bonjour à tous,j'utilise une requête dans une procédure stockée avec un like , la valeur provient d'un paramètre , et ma rquête ne fonctionne pas si j
Probleme avec Select Case [ par Geff ]
Bonjour à tous!J'ai un petit problème pour écrire une procédure stockée pour Sql Server 2000.Voici les données de mon problèmeJ'ai une table client et
Une procédure stockée pour : Ajouter OU Modifier OU Supprimer [ par Bowen123 ]
Bonjour,Je cherche a créer une procédure stockée pour ajouter,mettre a jour ou supprimer un element à partir d'un "id".Quelqu'un peut me mettre sur la
paramètres incorrects : 'ARITHABORT' [ par fabyrob ]
bonjour, J'ai une application en c# qui lance une procédure. Code: <TD c
Paramètre de procédure stockée null [ par Leggoff ]
Bonjour à tous.Je souhaite passer en C# un paramètre null à une procédure stockée (Ma toute première procédure !).L'utilisation de null ne fonctionne
Procédure stockée [ par batobad ]
bonjourj'ai une base de données sur sql server qui contient quatre tables dont l'une, que j'ai appélée article, contient une clé primaire et trois clé
Connection ODBC depuis l'extérieur [ par yoannd ]
Bonjour, Je souhaite connecter une appli .Net à une base de données SQL Server. La connection en local ou sur le réseau interne par ODBC fonctionne p
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|