Hola tengo unas conexiones con una base de datos. Mediante consultas a través de ODBC que realicé con la opción microsoft Query, y donde se ve perfectamente la conexión. Después intento en ejecución que me haga una determinada consulta sobre esa conexión, pero siempre me vuelve a pedir que indique base de datos, y en una segunda pregunta que indique el usuario y la contraseña. Lo que me resulta extraño es si este proceso lo planteo de manera manual y en propiedades de la conexión le pongo la SELECT de Mysql directamente, entonces si funciona sin solicitar credenciales. Pongo el código que uso para conectar con la BBDD.
Sub actualiza_datos_T(NOMBRE_CONEXION, SQL, NOMBRE_BASE_DE_DATOS As String)
With ActiveWorkbook.Connections(NOMBRE_CONEXION).ODBCConnection
.BackgroundQuery = False 'Realizará la consulta en primer plano
.CommandText = SQL
.CommandType = xlCmdSql
.Connection = "ODBC;DSN=" & NOMBRE_BASE_DE_DATOS & ";"
.RefreshOnFileOpen = False
.SavePassword = True
.SourceConnectionFile = ""
.SourceDataFile = ""
.ServerCredentialsMethod = xlCredentialsMethodIntegrated
.AlwaysUseConnectionFile = False
.Refresh
End With
End Sub
Entiendo que en alguno de los pasos lo he configurado mal, o cualquier otra cuestión. Lo que estoy buscando es que esas conexiones funciones en ejecución con las consultas (SELECT) que vaya proponiendo sin que cada vez me pida que indique la BBDD, ni el usuario, ni la contraseña.