¿Cómo creo un enlace Jet ODBC a una vista de SQL Server con puntos en los nombres de campo?

StackOverflow https://stackoverflow.com/questions/160467

Pregunta

Necesito crear un enlace ODBC desde una base de datos de Access 2003 (Jet) a una vista hospedada de SQL Server que contenga nombres de campos con alias que contengan puntos como:

Seq.Group

En la fuente de SQL detrás de la vista, los nombres de los campos están encerrados entre corchetes ...

SELECT Table._Group AS [Seq.Group]

... así que SQL Server no se queja sobre la creación de la vista, pero cuando intento crear un enlace ODBC desde la base de datos Jet (ya sea programáticamente o mediante la interfaz de usuario de Access 2003) recibo el mensaje de error:

  

'Seq.Group' no es un nombre válido. Hacer   Seguro que no incluye inválido.   Caracteres o puntuación y que   no es demasiado largo.

Lamentablemente, no puedo modificar la estructura de la vista porque es parte de otro producto, por lo que estoy atascado con los nombres de los campos como son. Yo podría agregar mi propia vista con nombres de campo sin puntuación, pero realmente prefiero no modificar el servidor SQL porque eso se convierte en otro punto de mantenimiento cada vez que hay una actualización, una revisión, etc. ¿Alguien sabe una mejor solución?

¿Fue útil?

Solución

Aunque técnicamente no terminé escapando del punto, tu sugerencia en realidad me hizo darme cuenta de otra alternativa. Mientras me preguntaba cómo pasaría " pasar " el código de escape al " SQL " servidor, se me ocurrió: ¿por qué no usar una " Consulta de paso a través de SQL " En lugar de una tabla vinculada ODBC? Como solo necesito acceso de lectura a los datos de SQL Server, ¡funciona bien! Gracias!

Otros consejos

Solo adivinando aquí: ¿intentaste escapar del punto? Algo como " [Seq \ .Group] " ;?

Otra propuesta sería agregar una nueva vista en su servidor sql, sin modificar la existente. Incluso si su vista inicial es parte de una " solución " ;, nada le prohíbe agregar nuevas vistas:

SELECT Table._Group AS [Seq_Group]
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top