Comment créer un lien ODBC Jet vers une vue SQL Server avec des points dans les noms de champ?

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

Question

Je dois créer un lien ODBC à partir d'une base de données Access 2003 (Jet) vers une vue hébergée sur SQL Server contenant des noms de champs avec alias contenant des points tels que:

Seq.Group

Dans la source SQL située derrière la vue, les noms de champs sont placés entre crochets ...

SELECT Table._Group AS [Seq.Group]

... donc SQL Server ne se plaint pas de la création de la vue, mais lorsque j'essaie de créer un lien ODBC à partir de la base de données Jet (par programme ou via l'interface utilisateur d'Access 2003), le message d'erreur suivant s'affiche:

  

'Seq.Group' n'est pas un nom valide. Faire   sûr qu'il n'inclut pas invalide   caractères ou ponctuation et qu'il   n'est pas trop long.

Malheureusement, je ne peux pas modifier la structure de la vue car elle fait partie d'un autre produit. Je suis donc coincé avec les noms de champs tels qu'ils sont. Je pourrais ajouter ma propre vue avec des noms de champ sans ponctuation, mais je préfère ne pas modifier du tout SQL Server, car cela devient un point de maintenance supplémentaire chaque fois qu'il y a une mise à niveau, un correctif, etc. Quelqu'un connaît-il une meilleure solution de contournement?

Était-ce utile?

La solution

Même si, techniquement, je n'ai pas réussi à échapper au point, votre suggestion a en fait fait de moi réaliser une autre alternative. En me demandant comment je pourrais "passer" le code d'échappement vers le " SQL " Pourquoi ne pas utiliser une "requête SQL directe"? au lieu d'une table liée ODBC? Comme je n'ai besoin que d'un accès en lecture aux données SQL Server, cela fonctionne bien! Merci!

Autres conseils

Devinez juste ici: avez-vous essayé d'échapper au point? Quelque chose comme "[Seq \ .Group]"?

Une autre proposition consisterait à ajouter une nouvelle vue sur votre serveur SQL sans modifier celle qui existe. Même si votre vue initiale fait partie d'une "solution", rien ne vous empêche d'ajouter de nouvelles vues:

SELECT Table._Group AS [Seq_Group]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top