Configuration NHibernate base Excel

Spixy Messages postés 5 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 15 mai 2009 - 1 mai 2009 à 21:16
Spixy Messages postés 5 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 15 mai 2009 - 2 mai 2009 à 12:03
Bonjour à tous,

Voilà, c'est la1ère fois que je crée un fichier de configuration xml pour NHibernate, et je ne vois pas trop quoi mettre où pour bien définir la connexion à ma base de données.

Je veux utiliser Excel comme base de données, donc j'ai défini un driver odbc vers un fichier .xls que j'ai créé (même si avec NHibernate je ne suis pas sûre d'en avoir besoin). Maintenant, je suis perdue... Je ne trouve nulle part de réelle explication de quoi mettre dans les propriétés :(

Je vous montre ce que j'ai commencé à faire :

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    NHibernate.Connection.DriverConnectionProvider

    NHibernate.Dialect.GenericDialect

    NHibernate.Driver.OdbcDriver

   

    true

  </session-factory>
</hibernate-configuration>

Déjà comme dialect je n'ai rien trouvé de mieux que GenericDialect, je ne sais pas si ça fonctionnera. Ensuite, qu'est-ce que je mets "connection.connection_string" ? Sachant que je ne vais pas faire une application web, et que ma base de données se trouve dans C:\Programmation. Dois-je préciser là dedans que j'utilise un driver qui s'appelle odbc_xls ? Bref, je ne sais pas quoi faire, j'ai besoin d'aide et d'explications s'il vous plait !

Merci !

2 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
2 mai 2009 à 11:49
Bonjour

je ne connais pas NHibernate, mais pourquoi ne pas utiliser un bon vieux ODBC et un DataSet pour lire un fichier Excel ?

ex pour un fichier Excel: c:\Base Clients.xls contenant un feuille BaseClient

// ouverture du fichier excel

System.Data.Odbc.OdbcConnection ExcelBaseClient = new OdbcConnection("MaxBufferSize=2048;DSN=Excel
Files;PageTimeout=5;DefaultDir=c:\\;DBQ=c:\\Base Clients.xls;DriverId=790");
ExcelBaseClient.Open();

//Création de l'adapter, avec la commande
//le nom de la table est celui de la feuille excel ave un '$' en fin

OdbcDataAdapter da=new OdbcDataAdapter("SELECT * FROM [BaseClient$]",ExcelBaseClient);

//Création d'un dataset, et remplissage

DataSet test = new DataSet("BaseClient");
da.Fill(test,"BaseClient");

//Parcours du dataset, on remarque aue la premiere ligne de la page du fichier excel correspond au nom des colonnes.

foreach (DataRow row in test.Tables["BaseClient"].Rows )
{
   foreach
( DataColumn dc in test.Tables["BaseClient"].Columns)
   {
      Console.WriteLine(string
.Format("{0}={1}",
         dc.ColumnName , row[dc].ToString() ));
   }
}
ExcelBaseClient.Close();

C# is amazing, enjoy it!
0
Spixy Messages postés 5 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 15 mai 2009
2 mai 2009 à 12:03
Bonjour !!

Merci beaucoup pour ta réponse ça va beaucoup m'aider ! Donc si je fais comme toi je ne déclares pas de fichier de configuration xml ? Le problème aussi, c'est que j'ai simplement créé la feuille excel mais pas la table, je voulais la créer dans mon programme :/
En tout cas je vais tester ta solution, encore merci !
0
Rejoignez-nous