Foros del Web » Programación para mayores de 30 ;) » .NET »

Recorrer DNS ODBC Vb.net - Vs2015

Estas en el tema de Recorrer DNS ODBC Vb.net - Vs2015 en el foro de .NET en Foros del Web. Hola genios!!! Tengo una instrucción que crea una base access y luego crea un DNS usuario para crear la conexion ODBC. La pregunta es como ...
  #1 (permalink)  
Antiguo 25/02/2016, 15:33
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 15 años, 11 meses
Puntos: 4
Recorrer DNS ODBC Vb.net - Vs2015

Hola genios!!!

Tengo una instrucción que crea una base access y luego crea un DNS usuario para crear la conexion ODBC.

La pregunta es como puedo buscar ese DNS antes de crearlo?

De ante mano. Muchas gracias!!!

Pd. Estoy trabajando con el Visual Studio 2015
  #2 (permalink)  
Antiguo 08/03/2016, 09:52
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 15 años, 11 meses
Puntos: 4
Respuesta: Recorrer DNS ODBC Vb.net - Vs2015

Buscando, buscando encontre algo.
Pase a comentario algunas lineas que para mi eran obsoletas.
Probado en VB.2015 y funciona.
Esto esta corriendo en 32 todavía no probé en 64, por si hay que modificar algunas librerías.

Para el que le sirva.

Module buscDNS

'para tipo de DNS (ODBC)
Public Enum DataSourceType
System
User
End Enum

' Obtiene todos los data sources (orígenes de datos) del sistema
Public Function obtenerDataSourcesSistema() As System.Collections.SortedList
Dim listaODBC As New System.Collections.SortedList()

Dim reg As Microsoft.Win32.RegistryKey = (Microsoft.Win32.Registry.LocalMachine).OpenSubKey ("Software")
If reg IsNot Nothing Then
reg = reg.OpenSubKey("ODBC")
If reg IsNot Nothing Then
reg = reg.OpenSubKey("ODBC.INI")
If reg IsNot Nothing Then
reg = reg.OpenSubKey("ODBC Data Sources")
If reg IsNot Nothing Then
' Obtener todas las entradas DSN
'definidas en DSN_LOC_IN_REGISTRY
For Each sName As String In reg.GetValueNames()
listaODBC.Add(sName, DataSourceType.System)
Next
End If
Try
reg.Close()
' ignorar un posible error
Catch
End Try
End If
End If
End If

Return listaODBC
End Function

' Obtiene todos los data sources (orígenes de datos) del usuario
Public Function obtenerDataSourcesUsuario() As SortedList
Dim listaODBC As New SortedList()

Dim reg As Microsoft.Win32.RegistryKey = (Microsoft.Win32.Registry.CurrentUser).OpenSubKey( "Software")
If reg IsNot Nothing Then
reg = reg.OpenSubKey("ODBC")
If reg IsNot Nothing Then
reg = reg.OpenSubKey("ODBC.INI")
If reg IsNot Nothing Then
reg = reg.OpenSubKey("ODBC Data Sources")
If reg IsNot Nothing Then
' Obtener todas las entradas DSN
' definidas en DSN_LOC_IN_REGISTRY
For Each sName As String In reg.GetValueNames()
listaODBC.Add(sName, DataSourceType.User)
Next
End If
Try
reg.Close()
' ignorar un posible error
Catch
End Try
End If
End If
End If

Return listaODBC
End Function


Public Function muestraODBC()
Dim listaODBC As SortedList = New System.Collections.SortedList()
'lsODBC.Items.Clear()
'listaODBC = obtenerDataSourcesSistema()
'For Each key As DictionaryEntry In listaODBC
'Console.Write(key.Key.ToString() & vbCrLf)
''lsODBC.Items.Add(key.Key.ToString())
'Next
listaODBC = obtenerDataSourcesUsuario()
Dim resultado As Integer = 0
For Each key As DictionaryEntry In listaODBC
'lsODBC.Items.Add(key.Key.ToString())
If key.Key.ToString = "nombre DNS USUARIO que estoy buscando" Then
resultado = resultado + 1
End If
Next
If resultado = 0 Then
Return False
Else
Return True
End If
End Function

End Module

Etiquetas: dns, odbc
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:25.