Problème avec la methode GetOleDbSchemaTable

Signaler
Messages postés
3
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
23 juin 2008
-
Messages postés
3
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
23 juin 2008
-
 
Salut à tous(tes). j'ai l'erreur suivante quand j'utilise la methode

GetOleDbSchemaTable pour recuprer les informations de

ma base de données sur psotgreSQL.:

Unspecified error E_OUTOFMEMORY (0x8007000E)
.
 Mon code C# est le suivant:

.......
.......
 string connectionString = "Data Source=" +nom_serveur_postgresql + ";Provider=PostgreSQL OLE DB Provider;"

                                    + "location=" + maBDD + ";"
                                    + "User ID=" + mon_Login + ";"
                                    + "password=" + mon_motdepasse+ ";"
                                   ;
OleDbConnection pgsqlconnexion = new OleDbConnection(connectionString);

           pgsqlconnexion.Open();
MessageBox.Show ("connexion OK");

IDbCommand dbcmd =pgsqlconnexion.CreateCommand();
               
  string sql = "CREATE TABLE vendeur1" + " ( numvendeur1 numeric NOT NULL ,"
    + "nom text," + "  responsabilite text," +
         " CONSTRAINT vendeur1_pkey PRIMARY KEY" + "(numvendeur1)" + ") ;";
                dbcmd.CommandText = sql;
                dbcmd.ExecuteNonQuery();

MessageBox.Show ("creation de la table OK");

 DataTable tablesa =pgsqlconnexion.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new Object[] { pgsqlconnection.Database, null, null, null });
MessageBox.Show("recuperation de table OK")// il y a erreur avant d'arriver ici.

               

2 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
92
Salut,

Une erreur ? Ca serait bien de donner plus de détails sur cette erreur.
Il se peut que tout simplement le provider OLEDB utilisé pour PostgreSQL ne prenne pas en charge cette fonctionnalité.

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
3
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
23 juin 2008

Oui C'est vrai.

J'ai ajouté le provider natif de postgreSQL (Npgsql) et je n'ai plus cette erreur.