|
| Connaître la structure d’une base de données externe |
| Iniciado por michel.lesty, 26,abr. 2019 11:06 - 3 respuestas |
| |
| | | |
|
| |
| Publicado el 26,abril 2019 - 11:06 |
Bonjour, je souhaite que l’utilisateur de mon logiciel (qui ne contient pas d’analyse) puisse ouvrir une base de données externe, sa base de données à lui, dont je ne connais pas à priori le type (oracle, AS400, SQL server, etc.), pour y requêter les données qu’il souhaite communiquer à mon logiciel sous forme de fichier .csv.
En d’autre terme, est-il possible, pour l’utilisateur, de réaliser « à la volée » l’analyse de la structure d’une base de données quelconque non prévue à priori dans le projet ?
Merci d’avance Michel |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 299 mensajes |
|
| Publicado el 26,abril 2019 - 11:40 |
Ca me fait plaisir de lire des sujets comme ça. J'ai un logiciel qui fonctionne sur ce principe et le client apprécie de pouvoir maitriser ses données et de pouvoir ajouter un champ dans sa base par un simple script.
Je gère mes accès aux données au travers d'une classe En tête de la classe j'ai cette structure
LO_StructureType est une structure LC_Nom est une chaîne LC_Type est une chaîne LN_Taille est un entier FIN
LT_StructureTable est un tableau de LO_StructureType
J'utilise les fonctions SQL.
LC_Global est une chaîne LT_StructureL est un tableau de chaînes LT_StructureC est un tableau de chaînes
LC_Global = SQLColonne(LO_Handle, PC_Table, Vrai) LT_StructureTable.SupprimeTout() ChaîneVersTableau(LC_Global, LT_StructureL, RC) POUR i = 1 _À_ LT_StructureL.Occurrence() ChaîneVersTableau(LT_StructureL[i], LT_StructureC, TAB) LO_TMP est un LO_StructureType LO_TMP.LC_Nom = SansEspace(LT_StructureC[1]) LO_TMP.LC_Type = SansEspace(LT_StructureC[2]) SI LT_StructureC[2] = "T" ALORS LO_TMP.LN_Taille= Val(LT_StructureC[4]) SINON LO_TMP.LN_Taille= 0 FIN LT_StructureTable.AjouteLigne(LO_TMP) FIN Mensaje modificado, 26,abril 2019 - 11:43 |
| |
| |
| | | |
|
| | |
| |
| Publicado el 26,abril 2019 - 14:55 |
Merci, cela m’éclaire déjà bien. Pour que mon projet soit ouvert à tous les types de bases non connue a priori (HFSQL, Oracle, AS400, SQL server, etc.), tous les modules additionnels de Windev doivent je suppose être installés, cela pose-t-il un problème ? |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 299 mensajes |
|
| Publicado el 26,abril 2019 - 15:44 |
J'ai connecté mon application à SQL Serveur via ODBC. J'ai des volumes de 20 à 30000 lignes et des performances correctes.
Donc pas de modules additionnels (ni de surcoût non plus d'ailleurs)
Je n'ai pas testé avec Oracle et pour HFSQL j'ai une autre classe avec le même nom et les noms de méthode mais qui travaille en accès direct. |
| |
| |
| | | |
|
| | | | |
| | |
|