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 :

afficher les noms des bases du tnsname


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Mai 2010
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 91
    Par défaut afficher les noms des bases du tnsname
    Bonjour,
    J'ai un petit souci pour récupérer les noms de mes bases de données dans le fichier tnsnames.ora
    J'aimerais bien afficher les noms de ces bases dans une listbox, mais je n'arrive pas a trouver comment les récupérer.
    Merci

  2. #2
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Mai 2010
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 91
    Par défaut
    J'ai trouvé ce code sur internet mais le probleme c'est qu'il ne marche pas:
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    Private Function GetOracleHome() As String
            Dim rgkLM As RegistryKey = Registry.LocalMachine
            Dim rgkAllHome As RegistryKey = rgkLM.OpenSubKey("SOFTWARE\ORACLE\ALL_HOMES")
            MsgBox(rgkAllHome)
            MsgBox("la")
            If Not rgkAllHome.Equals("") Then
                Dim strLastHome = ""
                Dim objLastHome As Object = rgkAllHome.GetValue("LAST_HOME")
                strLastHome = objLastHome.ToString()
                Dim rgkActualHome As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\ORACLE\HOME" + strLastHome)
                Dim strOraHome As String = ""
                Dim objOraHome As Object = rgkActualHome.GetValue("ORACLE_HOME")
                strOraHome = objOraHome.ToString()
                strOracleHome = strOraHome
     
                Return strOraHome
     
            Else
                MsgBox(rgkAllHome)
                Return ""
            End If
     
        End Function
     
        Private Function GetTNSNAMESORAFilePath() As String
            If Not Me.GetOracleHome.Equals("") Then
                strTNSNAMESORAFilePath = strOracleHome + "\NETWORK\ADMIN\TNSNAMES.ORA"
                If Not (System.IO.File.Exists(strTNSNAMESORAFilePath)) Then
                    strTNSNAMESORAFilePath = strOracleHome + "\NET80\ADMIN\TNSNAMES.ORA"
                    Return strTNSNAMESORAFilePath
                Else
                    Return strTNSNAMESORAFilePath
                End If
            Else
                Return ""
            End If
        End Function
     
     
        Public Function LoadTNSNames() As Collection
            Dim DBNamesCollection As New Collection
            Dim RegExPattern As String = "[\n][\s]*[^\(][a-zA-Z0-9_.]+[\s]*=[\s]*\("
     
            GetTNSNAMESORAFilePath()
            'Adicionando una línea en blanco a la collection
            DBNamesCollection.Add("")
            If Not strTNSNAMESORAFilePath.Equals("") Then
                Try
                    '//check out that file does physically exists
                    Dim fiTNS As New System.IO.FileInfo(strTNSNAMESORAFilePath)
                    If (fiTNS.Exists) Then
                        If (fiTNS.Length > 0) Then
                            '//read tnsnames.ora file
                            Dim iCount As Integer
                            Try
                                For iCount = 0 To Regex.Matches(My.Computer.FileSystem.ReadAllText(fiTNS.FullName), RegExPattern).Count - 1
                                    DBNamesCollection.Add(Regex.Matches(My.Computer.FileSystem.ReadAllText(fiTNS.FullName), RegExPattern).Item(iCount).Value.Trim.Substring(0, Regex.Matches(My.Computer.FileSystem.ReadAllText(fiTNS.FullName), RegExPattern).Item(iCount).Value.Trim.IndexOf(" ")))
                                Next
                            Catch ex As Exception
                                Throw New Exception(ex.Message)
                            End Try
                        End If
                    End If
                Catch ex As Exception
                    Throw New Exception(ex.Message)
                End Try
            End If
            Return DBNamesCollection
        End Function
    je pense que c'est du au rgkAllHome car lorsque je fais ma Msgbox je n'ai rien d'affiché, il ne rentre pas dans le if.
    Si quelqu'un peu m'aider ^^

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/01/2010, 09h53
  2. Comment afficher les noms des personnes stockés ds un tableau?
    Par quaresma dans le forum Algorithmes et structures de données
    Réponses: 29
    Dernier message: 26/04/2008, 00h55
  3. Afficher les nom des tables d'une base de donnée
    Par newmar dans le forum Administration
    Réponses: 4
    Dernier message: 02/04/2008, 16h40
  4. [MySQLClient] Lister les noms des bases de données
    Par devpsp dans le forum Bases de données
    Réponses: 17
    Dernier message: 02/01/2008, 19h03
  5. [WD10] Afficher les noms des colonnes
    Par devalender dans le forum WinDev
    Réponses: 4
    Dernier message: 24/02/2006, 14h38

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