Je possède actuellement une appli avec une base de données Hyperfile
classique, avec des accès hlit, hlitrecherche, et des requêtes, ainsi
que des identifiants automatiques dans les fichiers.
J'aimerais ajouter une option a mon appli pour qu'elle puisse également
être couplée avec une base de données Oracle ou Sql Server ou MySQL,
c'est à dire qu'au départ
l'utilisateur choisira entre une base Hyperfile ou une autre base.
J'utiliserai bien sur l'accés natif fournit par pcsoft adapté à la base
choisie.
Normalement il suffit de créer une nouvelle connexion avec les
paramètres de la base oracle et d'appeler hchangeconnexion, donc pour ça
pas de problème.
J'aimerais d'abord savoir avec quelle base j'aurais le moins de travail
d'adaptation à faire.
Ensuite comment sont gérés les identifiants automatiques ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Développement Steganux
Gilles a écrit :
Avec MySQL ou SQLServer, les hcreationsiinexistant s'en sortent bien avec les identifiants automatiques ou les contraintes (décrites dans l'analyse comme des clés composées).
En revanche, pour Oracle c'est plus corsé, puisque les identifiants automatiques n'ont pas d'équivalent.
Ce que je te conseille de faire, c'est de ne faire de hcréationsiinexistant que dans le cas où tu es en hyperfile, et dans les autres cas, de tester l'existence des tables et de lancer un script de création.
Ca te permettra, notemment pour Oracle, de générer des triggers avec des séquences pour simuler le fonctionnement de l'incrément automatique.
Pour les requêtes paramétrées, ca risque d'être plus ou moins compliqué. Si tes requêtes restent simples, ca ira. Mais dans des cas où la requête est un peu particulière, et si des fonctions sont utilisées, sachant que les langages diffèrent selon les bases, tu seras coincé.
Dans ces cas là, il vaudra mieux utiliser hExecuteRequeteSQL et faire des requêtes spécifiques à chaque base.
Pour les ordres H, ca marche plutôt bien.
Gilles.
Merci pour tout ces renseignements !
En terme de rapidité d'accès aux données, existe-t-il des différences suivant les accès natifs ?
Cordialement
Dvlpt, Steganux
Gilles a écrit :
Avec MySQL ou SQLServer, les hcreationsiinexistant s'en sortent bien
avec les identifiants automatiques ou les contraintes (décrites dans
l'analyse comme des clés composées).
En revanche, pour Oracle c'est plus corsé, puisque les identifiants
automatiques n'ont pas d'équivalent.
Ce que je te conseille de faire, c'est de ne faire de
hcréationsiinexistant que dans le cas où tu es en hyperfile, et dans les
autres cas, de tester l'existence des tables et de lancer un script de
création.
Ca te permettra, notemment pour Oracle, de générer des triggers avec des
séquences pour simuler le fonctionnement de l'incrément automatique.
Pour les requêtes paramétrées, ca risque d'être plus ou moins compliqué.
Si tes requêtes restent simples, ca ira. Mais dans des cas où la requête
est un peu particulière, et si des fonctions sont utilisées, sachant que
les langages diffèrent selon les bases, tu seras coincé.
Dans ces cas là, il vaudra mieux utiliser hExecuteRequeteSQL et faire
des requêtes spécifiques à chaque base.
Pour les ordres H, ca marche plutôt bien.
Gilles.
Merci pour tout ces renseignements !
En terme de rapidité d'accès aux données, existe-t-il des différences
suivant les accès natifs ?
Avec MySQL ou SQLServer, les hcreationsiinexistant s'en sortent bien avec les identifiants automatiques ou les contraintes (décrites dans l'analyse comme des clés composées).
En revanche, pour Oracle c'est plus corsé, puisque les identifiants automatiques n'ont pas d'équivalent.
Ce que je te conseille de faire, c'est de ne faire de hcréationsiinexistant que dans le cas où tu es en hyperfile, et dans les autres cas, de tester l'existence des tables et de lancer un script de création.
Ca te permettra, notemment pour Oracle, de générer des triggers avec des séquences pour simuler le fonctionnement de l'incrément automatique.
Pour les requêtes paramétrées, ca risque d'être plus ou moins compliqué. Si tes requêtes restent simples, ca ira. Mais dans des cas où la requête est un peu particulière, et si des fonctions sont utilisées, sachant que les langages diffèrent selon les bases, tu seras coincé.
Dans ces cas là, il vaudra mieux utiliser hExecuteRequeteSQL et faire des requêtes spécifiques à chaque base.
Pour les ordres H, ca marche plutôt bien.
Gilles.
Merci pour tout ces renseignements !
En terme de rapidité d'accès aux données, existe-t-il des différences suivant les accès natifs ?
Cordialement
Dvlpt, Steganux
Daniel
Développement Steganux a écrit :
Gilles a écrit :
Avec MySQL ou SQLServer, les hcreationsiinexistant s'en sortent bien avec les identifiants automatiques ou les contraintes (décrites dans l'analyse comme des clés composées).
En revanche, pour Oracle c'est plus corsé, puisque les identifiants automatiques n'ont pas d'équivalent.
Ce que je te conseille de faire, c'est de ne faire de hcréationsiinexistant que dans le cas où tu es en hyperfile, et dans les autres cas, de tester l'existence des tables et de lancer un script de création.
Ca te permettra, notemment pour Oracle, de générer des triggers avec des séquences pour simuler le fonctionnement de l'incrément automatique.
Pour les requêtes paramétrées, ca risque d'être plus ou moins compliqué. Si tes requêtes restent simples, ca ira. Mais dans des cas où la requête est un peu particulière, et si des fonctions sont utilisées, sachant que les langages diffèrent selon les bases, tu seras coincé.
Dans ces cas là, il vaudra mieux utiliser hExecuteRequeteSQL et faire des requêtes spécifiques à chaque base.
Pour les ordres H, ca marche plutôt bien.
Gilles.
Merci pour tout ces renseignements !
En terme de rapidité d'accès aux données, existe-t-il des différences suivant les accès natifs ?
Tout dépend du code initial. Mais il ne faut pas attendre de miracle. Si tu réussis à faire fonctionner ton application sur une autre base sans trop d'effort, tu as des accès bases qui ne sont pas du tout optimisés.
Remplacer toutes les tables fichiers par des tables mémoires, mettre un maximum de requêtes en sélection devraient permettre d'améliorer les choses.
Changer de base demande du boulot.
-- suivre ce lien pour répondre: http://cerbermail.com/?2KrV3YZXnn Daniel ;-)
Développement Steganux a écrit :
Gilles a écrit :
Avec MySQL ou SQLServer, les hcreationsiinexistant s'en sortent bien
avec les identifiants automatiques ou les contraintes (décrites dans
l'analyse comme des clés composées).
En revanche, pour Oracle c'est plus corsé, puisque les identifiants
automatiques n'ont pas d'équivalent.
Ce que je te conseille de faire, c'est de ne faire de
hcréationsiinexistant que dans le cas où tu es en hyperfile, et dans
les autres cas, de tester l'existence des tables et de lancer un
script de création.
Ca te permettra, notemment pour Oracle, de générer des triggers avec
des séquences pour simuler le fonctionnement de l'incrément automatique.
Pour les requêtes paramétrées, ca risque d'être plus ou moins
compliqué. Si tes requêtes restent simples, ca ira. Mais dans des cas
où la requête est un peu particulière, et si des fonctions sont
utilisées, sachant que les langages diffèrent selon les bases, tu
seras coincé.
Dans ces cas là, il vaudra mieux utiliser hExecuteRequeteSQL et faire
des requêtes spécifiques à chaque base.
Pour les ordres H, ca marche plutôt bien.
Gilles.
Merci pour tout ces renseignements !
En terme de rapidité d'accès aux données, existe-t-il des différences
suivant les accès natifs ?
Tout dépend du code initial. Mais il ne faut pas attendre de miracle. Si
tu réussis à faire fonctionner ton application sur une autre base sans
trop d'effort, tu as des accès bases qui ne sont pas du tout optimisés.
Remplacer toutes les tables fichiers par des tables mémoires, mettre un
maximum de requêtes en sélection devraient permettre d'améliorer les choses.
Changer de base demande du boulot.
--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Avec MySQL ou SQLServer, les hcreationsiinexistant s'en sortent bien avec les identifiants automatiques ou les contraintes (décrites dans l'analyse comme des clés composées).
En revanche, pour Oracle c'est plus corsé, puisque les identifiants automatiques n'ont pas d'équivalent.
Ce que je te conseille de faire, c'est de ne faire de hcréationsiinexistant que dans le cas où tu es en hyperfile, et dans les autres cas, de tester l'existence des tables et de lancer un script de création.
Ca te permettra, notemment pour Oracle, de générer des triggers avec des séquences pour simuler le fonctionnement de l'incrément automatique.
Pour les requêtes paramétrées, ca risque d'être plus ou moins compliqué. Si tes requêtes restent simples, ca ira. Mais dans des cas où la requête est un peu particulière, et si des fonctions sont utilisées, sachant que les langages diffèrent selon les bases, tu seras coincé.
Dans ces cas là, il vaudra mieux utiliser hExecuteRequeteSQL et faire des requêtes spécifiques à chaque base.
Pour les ordres H, ca marche plutôt bien.
Gilles.
Merci pour tout ces renseignements !
En terme de rapidité d'accès aux données, existe-t-il des différences suivant les accès natifs ?
Tout dépend du code initial. Mais il ne faut pas attendre de miracle. Si tu réussis à faire fonctionner ton application sur une autre base sans trop d'effort, tu as des accès bases qui ne sont pas du tout optimisés.
Remplacer toutes les tables fichiers par des tables mémoires, mettre un maximum de requêtes en sélection devraient permettre d'améliorer les choses.
Changer de base demande du boulot.
-- suivre ce lien pour répondre: http://cerbermail.com/?2KrV3YZXnn Daniel ;-)