IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Peut-on utiliser les DataSet avec Oracle ?


Sujet :

C#

  1. #1
    Membre du Club Avatar de etoile_de_vie
    Inscrit en
    Juillet 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 131
    Points : 45
    Points
    45
    Par défaut Peut-on utiliser les DataSet avec Oracle ?
    bonjour,
    est ce que les dataset sont utilisés juste avec ADO.Net?
    est ce que on peut pas les utliser lorsque on utilise une source de données oracle?

  2. #2
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Ado.Net permet justement d'avoir du code quasiment identique quelle que soit la source de donnée. Donc si tu utilises les classes oracle fournies dans le framework (system.Data.Client.OracleClient il me semble), tu as accès à des classes implémentant les interfaces d'Ado.net.

    De même pour ODP, qui n'est pas fourni en standard avec le framework mais qu'il faut chercher sur le site d'Oracle (s'il n'est pas installé avec le Client oracle).

  3. #3
    Membre du Club Avatar de etoile_de_vie
    Inscrit en
    Juillet 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 131
    Points : 45
    Points
    45
    Par défaut
    Est ce quelqu'un a un script permettant la création d'un dataset et l'extraction des données dans ce dataset à partir d'une table d'une BD oracle9i ?

  4. #4
    Membre actif Avatar de Mast3rMind
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 226
    Points : 219
    Points
    219
    Par défaut


    Mais vu que je suis bon samaritain:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    String strConnection = "Provider=OraOLEDB.Oracle" + ";" +
                                        "Data Source=" + strSource + ";" +
                                        "User Id=" + strUserName + ";" +
                                        "Password=" + strPassword + ";";
    OleDBConnection connection = new OleDBConnection(strConnection );
     
    String strSelectAll = "SELECT * FROM TableOracle";
     
    DataSet dataSet = new DataSet("MyTable");
     
    OleDbDataAdapter da = new OleDbDataAdapter(strSelectAll, connection);
    da.Fill(dataSet, "MyTable");
    Je l'ai fait en OleDB comme ça si t'as besoin de MDB ou SQL Server ça devrait fonctionner aussi.

  5. #5
    Membre du Club Avatar de etoile_de_vie
    Inscrit en
    Juillet 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 131
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par Mast3rMind Voir le message

    Je l'ai fait en OleDB comme ça si t'as besoin de MDB ou SQL Server ça devrait fonctionner aussi.
    Error 1 The type or namespace name 'OleDbDataAdapter' could not be found (are you missing a using directive or an assembly reference?)

    j'ai changé 'OleDbDataAdapter' par 'OracleDataAdapter' puisque la source de données est oracle 9i.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     String strConnection = "Provider=OraOLEDB.Oracle;Data Source=sourcedata;User Id=system;Password=psw;";
                OracleConnection connection = new OracleConnection(strConnection);
     
                String strSelectAll = "SELECT * FROM personnel";
     
                DataSet dataSet = new DataSet("MyTable");
     
                OracleDataAdapter da = new OracleDataAdapter(strSelectAll, connection);
                da.Fill(dataSet, "MyTable");
    Mais une exception s'est produite à ce niveau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     OracleConnection connection = new OracleConnection(strConnection);
    ArgumentException was unhandled
    Keyword not supported: 'provider'.

  6. #6
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Citation Envoyé par etoile_de_vie
    Keyword not supported: 'provider'.
    Tu dois donc enlever "Provider=OraOLEDB.Oracle;" de ta chaine de connection car il n'est pas supporté.

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Pour OracleClient, la chaine de connexion à utiliser est la suivante:
    Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;Integrated Security=no;
    (cf. http://www.connectionstrings.com/?carrier=oracle)

    Cela dit, je te déconseille le provider OracleClient intégré au framework, je crois qu'il pose des problèmes de compatibilité avec les versions récentes d'Oracle. Il vaut mieux utiliser le provider "officiel" fourni par Oracle. La dernière version est ici : http://www.oracle.com/technology/tec...net/index.html

  8. #8
    Membre du Club Avatar de etoile_de_vie
    Inscrit en
    Juillet 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 131
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Il vaut mieux utiliser le provider "officiel" fourni par Oracle. La dernière version est ici : http://www.oracle.com/technology/tec...net/index.html
    je crois que ceci est applicable que pour oracle 10g ou non?

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par etoile_de_vie Voir le message
    je crois que ceci est applicable que pour oracle 10g ou non?
    A priori ça doit marcher pour la 11g et les précédentes (principe de "backwards compatibility")

  10. #10
    Membre du Club Avatar de etoile_de_vie
    Inscrit en
    Juillet 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 131
    Points : 45
    Points
    45
    Par défaut


    J'ai installé le provider OracleClient recommandé mais le pb persiste encore.

    en faite, j'ai créé dans ma BD des tables Xque je peux les visualiser à partir de 'server explorer' et je peux les manipuler.

    Alors que lors de l'ajoue d'un datagridview,j'ai effctué les étapes suivantes:

    1-Add project Data Sources
    2-Choose a data source type --> database
    3-Choose your data connection --> nouvelle connection --> data source: oracle data base, data provider: .Net framework Data Provider for Oracle (OLE DB)
    4-Add connection --> la connexion est bien établi après avoir mettre: le nom du serveur, user name et le password
    5-choose your Data Base Objects--> tables: à ce niveau j'ai pas trouvé les tables X.

    De même si je choisis dans l'étape 3; data provider: .Net framework Data Provider for OLE DB.

    Please help me

  11. #11
    Membre du Club Avatar de etoile_de_vie
    Inscrit en
    Juillet 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 131
    Points : 45
    Points
    45
    Par défaut
    Personne ne peut m'aider

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Normalement quand tu choisis le data provider, tu as le choix entre un provider OLE DB et un autre. Essaie en choisissant l'autre

  13. #13
    Membre du Club Avatar de etoile_de_vie
    Inscrit en
    Juillet 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 131
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Normalement quand tu choisis le data provider, tu as le choix entre un provider OLE DB et un autre. Essaie en choisissant l'autre
    De même si je choisis data provider: .Net framework Data Provider for Oracle, je trouves les mêmes problèmes.

  14. #14
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Ben je sais pas quoi te dire... chez moi ça marche bien
    Tu es sûre que les tables auxquelles tu veux accéder sont bien dans le schema de ton user ?

  15. #15
    Membre du Club Avatar de etoile_de_vie
    Inscrit en
    Juillet 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 131
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Tu es sûre que les tables auxquelles tu veux accéder sont bien dans le schema de ton user ?
    oui je suis sûre,sachant que les tables sont créées à partir de la BD en question et pas de l'application.

  16. #16
    Membre du Club Avatar de etoile_de_vie
    Inscrit en
    Juillet 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 131
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par etoile_de_vie Voir le message


    J'ai installé le provider OracleClient recommandé mais le pb persiste encore.

    en faite, j'ai créé dans ma BD des tables Xque je peux les visualiser à partir de 'server explorer' et je peux les manipuler.

    Alors que lors de l'ajoue d'un datagridview,j'ai effctué les étapes suivantes:

    1-Add project Data Sources
    2-Choose a data source type --> database
    3-Choose your data connection --> nouvelle connection --> data source: oracle data base, data provider: .Net framework Data Provider for Oracle (OLE DB)
    4-Add connection --> la connexion est bien établi après avoir mettre: le nom du serveur, user name et le password
    5-choose your Data Base Objects--> tables: à ce niveau j'ai pas trouvé les tables X.

    De même si je choisis dans l'étape 3; data provider: .Net framework Data Provider for OLE DB.
    je n'ai pas trouvé la solution!!
    je veux savoir c'est quoi le problème dans cette procédure et s'il y a une personne qui a passé par le même pb q'est ce qu'il a fais pour le resoudre.

  17. #17
    Membre du Club Avatar de etoile_de_vie
    Inscrit en
    Juillet 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 131
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    Je veux essayer de resoudre ce problème autrement. En fait, je veux créer un dataGidView et le remplir à partir d'une requête SQL. Mais je n'ai pas réussi
    Est ce qu'il y a quelqu'un qui a procédé de cette manière peut m'aider?
    Vraiment j'ai besoin d'aide et merci.

  18. #18
    Membre du Club Avatar de etoile_de_vie
    Inscrit en
    Juillet 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 131
    Points : 45
    Points
    45
    Par défaut
    j'ai utlisé ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
            { 
    OracleConnection OraCon = new OracleConnection();
                string connexionstring = "data source=RC;user=system;password=psw;";
                OraCon.ConnectionString = connexionstring;
                try
                {
    OracleDataAdapter DA = new OracleDataAdapter("SELECT * FROM fiche_personnel", OraCon);
                    OracleCommandBuilder builder = new OracleCommandBuilder(DA);
                    builder.QuotePrefix = "[";
                    builder.QuoteSuffix = "]";
                    DataSet DS = new DataSet();
                    OraCon.Open();
                    DA.Fill(DS, "fiche_personnel");
                    DA.Update(DS, "fiche_personnel");
     }
                catch (Exception ex)
    {
                    MessageBox.Show(ex.ToString());
                }
                finally
                {
                    OraCon.Close();
                }
    en cliquant sur linkLabel2 rien ne sera affiché

  19. #19
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    tu as bien défini le DataSet comme DataSource du DataGridView ?

  20. #20
    Membre du Club Avatar de etoile_de_vie
    Inscrit en
    Juillet 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 131
    Points : 45
    Points
    45
    Par défaut

    Merci bien Tomlev, tu m'as aidé énormement
    Voci le code qui fonctionne bien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
            private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
            {
                OracleConnection OraCon = new OracleConnection();
                string connexionstring = "data source=RC;user=sys;password=psw;";
                OraCon.ConnectionString = connexionstring;
                 OraCon.Open();
    
                try
                {
                    OracleDataAdapter DA = new OracleDataAdapter("SELECT * FROM fiche_personnel", OraCon);
                    OracleCommandBuilder builder = new OracleCommandBuilder(DA);
                    builder.QuotePrefix = "[";
                    builder.QuoteSuffix = "]";
                    DataSet DS = new DataSet();
                    
                    DA.Fill(DS, "fiche_personnel");
                    DA.Update(DS, "fiche_personnel");
                                  
                    dataGridView1.DataSource =DS;
                    dataGridView1.DataMember = "fiche_personnel";            }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
                finally
                {
                    OraCon.Close();
                }
                    
            }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. une Dll peut elle utiliser les fonctions d'une autre dll?
    Par kantelise dans le forum Windows
    Réponses: 7
    Dernier message: 18/05/2006, 03h45
  2. Utiliser les Streams avec TSocket
    Par francky23012301 dans le forum Web & réseau
    Réponses: 8
    Dernier message: 02/05/2006, 23h07
  3. [CF][PPC/VB.NET] Comment utiliser les Socket avec Pocket PC ?
    Par joefou dans le forum Windows Mobile
    Réponses: 5
    Dernier message: 17/05/2005, 14h24
  4. Peut-on utiliser les SGBDs libres pour construire un DWH ?
    Par daabos dans le forum Alimentation
    Réponses: 6
    Dernier message: 01/10/2004, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo