Monday, February 4, 2008

Exctract TNS Names from TNSNAMES.ORA using Visual Basic 6 (VB6)


To extract TNS Names from tnsnames.ora file you can use below listed function Read_Tns_File.
This function extract TNS Names and add them into ComboBox(cmbTns).

Private Sub Read_Tns_File(strFileName As String, cmbTns As ComboBox)
On Error GoTo FileErrHandler ' Jump if an error occurs
Dim intTnsFile As Integer
Dim strData As String
Dim bolTnsStart As Boolean
Dim bolBracketStart As Boolean
Dim intBracketCounter As Integer
intBracketCounter = 0
intTnsFile = FreeFile
' open tns file
Open strFileName For Input As intTnsFile
' read tns file
Do Until (EOF(intTnsFile))
Line Input #intTnsFile, strData
' checking for remarks
If Left(LTrim(strData), 1) <> "#" And LTrim(strData) <> "" Then
If Not bolTnsStart Then
Dim intEqualPos As Integer
Dim intTnsStringSingle As String

intEqualPos = InStr(strData, "=")

If intEqualPos = 0 Then
intTnsStringSingle = strData
Else
intTnsStringSingle = Mid(strData, 1, intEqualPos - 1)
End If

cmbTns.AddItem (Trim(intTnsStringSingle))
bolTnsStart = True
End If

If bolTnsStart And InStr(strData, "(") > 0 Then
bolBracketStart = True
End If

intBracketCounter = intBracketCounter + (Len(strData) - Len(Replace(strData, "(", "")))
intBracketCounter = intBracketCounter - (Len(strData) - Len(Replace(strData, ")", "")))
End If

If intBracketCounter = 0 And bolBracketStart Then
bolBracketStart = False
bolTnsStart = False
End If
Loop
Close intTnsFile
Exit Sub
FileErrHandler:
' if any error occurs while file handling exit the procedure
Close intTnsFile
Exit Sub
End Sub

No comments:

Google