patrice56
Bonjour,
D'abord, je tiens à féliciter l'équipe de développeurs de ce logiciel.
je souhaite pouvoir effectuer des requêtes sur la base de données Gestan V2. J'ai cru comprendre que la base de données est celle intégrée à la plateforme de développement Windev, soit HyperFileSQL.
Pour effectuer des requêtes, il me faut donc disposer du pilote approprié. Je crois qu'il existe un pilote ODBC disponible avec WinDEV. Or, la licence de WinDev est payante, et je souhaite simplement effectuer des requêtes et non faire du développement.Quelles sont mes possibilités?
- utiliser la version WindevExpress, le pilote y est fourni?
- acheter une licence Windev Etat (générateur d'état WinDev), qui fournit surement un pilote approrié? Dans ce cas, quelle est la version de Windev utilisée pour le développement de gestan V2 et V3?
D'avance merci de vos réponses.
Gestan
waaaaaa, un geek ! ;)
Oui, il devrait être possible d'attaquer une base HF via ODBC, mais pour être francs, nous n'avons jamais osé !
Actuellement, Gestan est sous WD12. PC soft a annoncé la sortie de WD14, au 1/1/09, le logiciel état et requêtes y sera gratuit - merci PCSoft ! (pub!) D'ores et déjà, nous pourrions le diffuser avec Gestan, mais cela pèse ouate milliards de méga, pas idéal pour Internet.
Voici ce qu'en raconte PCSoft, ça vous parle ?
[quote]
Le driver ODBC sur Hyper File Classic (monoposte et réseau) permet d'accéder à une base de données Hyper File Classic depuis un logiciel de base de données externe, gérant les accès par ODBC. Il est ainsi possible d'utiliser le driver ODBC sur Hyper File Classic via Visual .NET (en C#).
[b]Configuration[/b]
Pour utiliser le driver ODBC sur Hyper File , configurez le driver ODBC :
1. Lancez l'administrateur de données ODBC (ODBCAD32.EXE) sur votre poste. Utilisez par exemple l'option "Démarrer .. Exécuter" de Windows et saisissez "ODBCAD32.EXE".
2. Sélectionnez l'onglet "Base de données Utilisateur".
3. Cliquez sur le bouton "Ajouter".
4. Sélectionnez le driver "Hyper File 7".
5. Cliquez sur le bouton "Terminer".
6. Saisissez le nom de la source de données Hyper File. Ce nom permettra d'identifier la base de données Hyper File dans les programmes externes.
7. Cliquez sur le bouton "Détail".
8. Sélectionnez le fichier WDD correspondant à l'analyse grâce au bouton "Parcourir".
9. Dans la liste des analyses, sélectionnez l'analyse voulue puis sélectionnez le répertoire des fichiers de données correspondant (bouton "Parcourir"). Dans ce répertoire tous les fichiers de données Hyper File correspondant à l'analyse sélectionnée sont regroupés.
Attention : il est nécessaire de sélectionner un répertoire de fichier par analyse.
10. Validez (bouton "OK").
La base de données est utilisable en lecture seulement depuis des programmes externes via le driver ODBC sur Hyper File 7.
[b]Utilisation[/b]
Voici un exemple de code permettant de manipuler le driver ODBC sur Hyper File depuis votre programme Visual .NET :
--------------------------------------------------------------------
// Code d'exemple d'utilisation d'une base de données Hyper File par ODBC
namespace ConsoleApplicationTestODBC
{
class Sample
{
public static void Main()
{
try
{
// Connexion en utilisant un DSN
// MaBaseODBC est une source de données ODBC définie avec odbcad32
//OdbcConnection nwindConn = new OdbcConnection("DSN=MaBaseODBC");
// Connexion en passant directement les paramètres de connexion
// ANA=<Chemin complet de l'analyse>
// REP=<Répertoire des fichiers>
OdbcConnection MaConnexion = new OdbcConnection("Driver={Hyper File 7};ANA=c:\test\\MonAnalyse.wdd;REP=c:\test\\;");
// Ouverture de la connexion
MaConnexion.Open();
// Requête à exécuter sur la base de données
OdbcCommand MaRequete = new OdbcCommand("SELECT * FROM MonFichier", MaConnexion);
// Exécution de la requête
OdbcDataReader MesDonnees = MaRequete.ExecuteReader();
// parcours du résultat de la requête
while (MesDonnees.Read())
{
Console.WriteLine("\t{0}\t{1}", MesDonnees.GetInt32(0), MesDonnees.GetString(1));
}
MesDonnees.Close();
MaConnexion.Close();
}
catch(OdbcException eExcpt)
{
// Affichage des erreurs
Console.WriteLine("Source = " + eExcpt.Source);
Console.WriteLine("Message = " + eExcpt.Message);
}
// pause avant de sortir
Console.ReadLine();
}
}
}
--------------------------------------------------------------------
[/quote]