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

VB.NET Discussion :

Base Oracle et vb.net 2008


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut Base Oracle et vb.net 2008
    Bonjour,

    j'ai un soucis pour me connecter.
    Voici mon 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
    25
    26
    27
     
    Imports System.Data
    Imports Oracle.DataAccess.Client ' ODP.NET Oracle managed provider
    Public Class Gestion_notes
        Public oradb As String = "Data Source=localhost;User Id=gestionMatiere;Password=gestionMatiere;"
        Public conn As New OracleConnection(oradb)
     
        Private Sub Gestion_notes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
            Try
                conn.Open()
                'exemple de requete sql
                Dim sql As String = "select * FROM utilisateur"
     
                Dim cmd As New OracleCommand(sql, conn)
                'cmd.CommandType = CommandType.Text
                Dim dr As OracleDataReader = cmd.ExecuteReader()
                dr.Read()
                'Label1.Text = dr.Item("dname") ' lecture de la colonne (via le nom de colonne)
                'Label1.Text = dr.Item(0) ' lecture de la première colonne (via l'indice) 
                'Label1.Text = dr.GetString(0) ' lecture de la première colonne (via l'indice)
            Catch ex As Exception
                MessageBox.Show(ex.Message.ToString())
     
            End Try
     
        End Sub
    Ce code fonctionnait très bien comme ceci sur le PC du lycée mais chez moi cela ne fonctionne pas.

    Le message d'erreur :
    L'exception InvalidOperationException n'a pas été gérée. La référence d'objet n'est pas définie à une instance d'un objet.
    Je n'ai pas plus d'infos. Apparemment c'est un problème redondant mais je n'ai pas trouvé de solution.
    Je ne met que ce bout de code puisque l'erreur apparaît au lancement du programme, donc dans le load je suppose.

    Si vous avez des idées,

    merci.

  2. #2
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    As-tu la base de données oracle de ton lycée installée sur ton ordinateur chez toi ?

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    l'erreur fournit aussi le numéro de ligne qui passe en erreur dans le stacktrace ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Citation Envoyé par griftou Voir le message
    As-tu la base de données oracle de ton lycée installée sur ton ordinateur chez toi ?
    Oui, je dispose d'oracle 10g ainsi que de SQL developper. La même installation qu'au lycée.

    Citation Envoyé par Pol63 Voir le message
    l'erreur fournit aussi le numéro de ligne qui passe en erreur dans le stacktrace ...
    Stacktrace :
    à gestionMatiereEleve.My.MyProject.MyForms.Create__Instance__[T](T Instance) dans 17d14f5c-a337-4978-8281-53493378c1071.vb:ligne 190
    à gestionMatiereEleve.My.MyProject.MyForms.get_Gestion_notes()
    à gestionMatiereEleve.My.MyApplication.OnCreateMainForm() dans K:\AP\AP 5 - Gestion notes Oracle\gestionMatiereEleve\My Project\Application.Designer.vb:ligne 35
    à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
    à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
    à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
    à gestionMatiereEleve.My.MyApplication.Main(String[] Args) dans 17d14f5c-a337-4978-8281-53493378c1071.vb:ligne 81
    à System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
    à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
    à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    à System.Threading.ThreadHelper.ThreadStart()

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    la création du form a planté, donc soit son constructeur a planté, soit des new dans des variables de classes
    dans le code que tu nous donnes, la seule ligne correspondant à ca est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public conn As New OracleConnection(oradb)
    ce qui voudrait dire que la classe oracleconnection plante ... peut etre qu'elle n'aime pas la chaine de connexion
    tu peux enlever cette ligne et déclarer conn dans le try catch pour voir l'erreur, ou voir s'il n'y a pas une InnerException dans l'erreur ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Ouh la...
    Bon déjà j'ai du réécrire la ligne dans chacun de mes sub, étant donné qu'il n'accepte pas de public dans la déclaration.
    Ensuite au lancement, j'ai une message box : "La référence..."

    La form se lance !
    Et dès que je choisis une action, le script plante avec un message :
    "La référence d'objet..." sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim conn As New OracleConnection(oradb)
    que j'ai réécrit dans mon autre sub.

  7. #7
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    public ne peut pas apparaitre au sein d'une sub, il faut alors utiliser dim

    sinon comme je l'ai dit, regarde s'il n'y a pas une innerexception sur ex en mettant un point d'arret sur le catch
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/03/2008, 01h44
  2. acceder a une base de donnee oracle par vb.net
    Par khayate dans le forum Oracle
    Réponses: 2
    Dernier message: 28/02/2008, 10h45
  3. Connexion en ASP.NET à une base Oracle 9i
    Par DJuL- dans le forum Accès aux données
    Réponses: 3
    Dernier message: 12/07/2007, 10h49
  4. connection a une base oracle avec vb.net
    Par khayate dans le forum VB.NET
    Réponses: 5
    Dernier message: 11/05/2007, 16h45
  5. Réponses: 4
    Dernier message: 24/02/2006, 10h48

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