Access - Cadena de conexión a SQL Server

 
Vista:

Cadena de conexión a SQL Server

Publicado por r_vaquerizo (1 intervención) el 28/09/2007 14:21:06
Hola,

Lanzo semanalmente un proceso para exportar tablas de SQL Server a otra aplicación. Para este proceso empleo Access ya que la otra aplicación no puede emplear orígenes ODBC.

Access me pide contraseñas cada vez que accedo a las tablas SQL Server vinculadas. ¿Hay alguna forma de hacer una cadena de conexión a SEL Server en donde le metan la contraseña?

Muchas gracias.
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
Imágen de perfil de Alejandro

Cadena de conexión con contraseña para tablas SQL Server vinculadas

Publicado por Alejandro (4142 intervenciones) el 21/08/2023 22:41:12
Sí, puedes utilizar una cadena de conexión que incluya la contraseña para acceder a las tablas de SQL Server vinculadas desde Access. Esto evita que Access te pida la contraseña cada vez que accedes a las tablas. Aquí te muestro cómo hacerlo:

1. Modificar la cadena de conexión:
- Abre Access y ve a la pestaña "Base de Datos externa" en la barra de herramientas.
- Selecciona "Vincular tabla" para abrir el asistente de vinculación.
- Elige las tablas de SQL Server que deseas vincular.
- En la última pantalla del asistente, marca la opción "Guardar la contraseña" y proporciona la contraseña correspondiente.

2. Utilizar VBA para modificar la cadena de conexión:
Si ya tienes las tablas vinculadas y deseas modificar la cadena de conexión para incluir la contraseña, puedes hacerlo utilizando VBA:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub ModificarCadenaConexion()
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef
    Dim connStr As String
 
    Set db = CurrentDb
 
    ' Cambiar "NombreTabla" por el nombre de la tabla vinculada
    Set tdf = db.TableDefs("NombreTabla")
 
    ' Construir la cadena de conexión con la contraseña
    connStr = "ODBC;DRIVER={SQL Server};SERVER=nombre_servidor;" & _
              "DATABASE=nombre_base_datos;UID=nombre_usuario;PWD=contraseña;"
 
    ' Actualizar la cadena de conexión de la tabla vinculada
    tdf.Connect = connStr
    tdf.RefreshLink
 
    Set tdf = Nothing
    Set db = Nothing
End Sub

Cambia "NombreTabla", "nombre_servidor", "nombre_base_datos", "nombre_usuario" y "contraseña" por los valores correspondientes.

3. Ejecutar el código VBA:
- Abre el editor de VBA en Access presionando Alt + F11.
- Inserta un nuevo módulo y copia el código VBA en él.
- Ejecuta el código haciendo clic en el botón de "Ejecutar" en el editor de VBA.

Recuerda que almacenar contraseñas en el código VBA puede ser un riesgo de seguridad si no se maneja adecuadamente. Asegúrate de proteger y restringir el acceso a tu base de datos para mantener la seguridad de las contraseñas almacenadas.
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