Visual Basic - ODBC en una combo

Life is soft - evento anual de software empresarial
 
Vista:

ODBC en una combo

Publicado por Mauro Balbis (6 intervenciones) el 27/06/2003 01:03:29
Hola, quisiera cargar una combo con las ODBC que tengo creadas en mi PC.
El problema es que no se en que directorio estan almacenadas las ODBC para asi poder cargar la combo con sus nombres.
He hecho una busqueda con el buscador de windows pero no las he podido encontrar.
Desde ya muchas gracias
Mauro
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ODBC en una combo

Publicado por Ricardo Monla (2 intervenciones) el 27/06/2003 20:40:13
Hola Mauro:

Fijate en Panel de Control - Fuente de Datos ODBC.

Saludos
Ricardo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ODBC en una combo

Publicado por Mauro Balbis (6 intervenciones) el 27/06/2003 21:22:26
Gracias Ricardo por responderme, pero en realidad mi pregunta era como poder llenar una combo con los DSN creados en la compu, pero no manualmente, sino hacer una rutina que me devuelva todos los DSN creados y asi poder llenar dinamicamente la combo con los nombres de las connexiones.

Ya encontre una rutina que hace esto, y es con dos API ODBC, si te interesa te la puedo mandar por mail.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ODBC en una combo

Publicado por Rmonla (2 intervenciones) el 28/06/2003 04:34:29
Ok Mauro mandamelo.

Saludos
Ricardo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ODBC en una combo

Publicado por Cecilia Colalongo (3116 intervenciones) el 27/06/2003 21:59:15
Fijate con esto:

Declare Function SQLDrivers Lib "odbc32.dll" (ByVal HENV As Long, _
ByVal Direction As Long, _
ByVal Description As String, _
ByVal DescriptionMax As Integer, _
ByRef DescriptionLen As Integer, _
ByVal Attributes As String, _
ByVal AttributesMax As Integer, _
ByRef AttributesLen As Integer) As Integer

Declare Function SQLDataSources Lib "odbc32.dll" (ByVal HENV As Long, _
ByVal Direction As Long, _
ByVal DSN As String, _
ByVal DSNMax As Integer, _
ByRef DSNLen As Integer, _
ByVal Description As String, _
ByVal DescriptionMax As Integer, _
ByRef DescriptionLen As Integer) As Integer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ODBC en una combo

Publicado por Mauro BALBIS (6 intervenciones) el 08/07/2003 16:33:41
gracias celia
aca les mando el codigo de lo que hice

Public Declare Function SQLDataSources Lib \"ODBC32.DLL\" (ByVal henv&, ByVal fDirection%, _
ByVal szDSN$, ByVal cbDSNMax%, pcbDSN%, ByVal szDescription$, ByVal cbDescriptionMax%, _
pcbDescription%) As Integer

Public Declare Function SQLAllocEnv% Lib \"ODBC32.DLL\" (env&)

Public Const SQL_SUCCESS As Long = 0
Public Const SQL_FETCH_NEXT As Long = 1
Private Sub GetDSNsAndDrivers()
\'Procedimiento que recupera los nombres de las DSNs y DRIVERS que existen en un PC y los ingresa en una combobox
\'utilisa las APIs SQLDataSources y SQLAllocEnv

On Error Resume Next

Dim i As Integer
Dim sDSNItem As String * 1024
Dim sDRVItem As String * 1024
Dim sDSN As String
Dim sDRV As String
Dim iDSNLen As Integer
Dim iDRVLen As Integer
Dim lHenv As Long \'Pointeur de l\'environement

\'lit les DSN
If SQLAllocEnv(lHenv) <> -1 Then
Do Until i <> SQL_SUCCESS
sDSNItem = Space(1024)
sDRVItem = Space(1024)
i = SQLDataSources(lHenv, SQL_FETCH_NEXT, sDSNItem, 1024, iDSNLen, sDRVItem, 1024, iDRVLen)
sDSN = VBA.Left(sDSNItem, iDSNLen)
sDRV = VBA.Left(sDRVItem, iDRVLen)

If sDSN <> Space(iDSNLen) Then
CboODBC.AddItem sDSN
CboODBC.AddItem sDRV
End If
Loop
End If

CboODBC.ListIndex = 0

End Sub

%
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar