Come si crea un collegamento ODBC Jet a una vista di SQL Server con punti nei nomi dei campi?

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

Domanda

Devo creare un collegamento ODBC da un database Access 2003 (Jet) a una vista ospitata su SQL Server che contiene nomi di campi con alias contenenti periodi come:

Seq.Group

Nell'origine SQL dietro la vista, i nomi dei campi sono racchiusi tra parentesi quadre ...

SELECT Table._Group AS [Seq.Group]

... quindi SQL Server non si lamenta della creazione della vista, ma quando provo a creare un collegamento ODBC dal Jet DB (a livello di codice o tramite l'interfaccia utente di Access 2003) ricevo il messaggio di errore:

  

'Seq.Group' non è un nome valido. Rendere   sicuro che non includa non valido   caratteri o punteggiatura e questo   non è troppo lungo.

Sfortunatamente, non posso modificare la struttura della vista perché fa parte di un altro prodotto, quindi sono bloccato con i nomi dei campi così come sono. potrei aggiungere la mia visione personale con nomi di campo senza punteggiatura, ma preferirei davvero non modificare affatto SQL Server perché poi questo diventa un altro punto di manutenzione ogni volta che c'è un aggiornamento, una correzione, ecc. Qualcuno conosce una soluzione alternativa migliore?

È stato utile?

Soluzione

Anche se tecnicamente non sono riuscito a sfuggire al punto, il tuo suggerimento in realtà mi ha fatto farmi capire un'altra alternativa. Mentre mi chiedo come vorrei "passare" il codice di escape per " SQL " server, mi è venuto in mente: perché non usare una query SQL pass-through " invece di una tabella collegata ODBC? Dato che ho solo bisogno dell'accesso in lettura ai dati di SQL Server, funziona benissimo! Grazie!

Altri suggerimenti

Sto solo indovinando qui: hai provato a sfuggire al punto? Qualcosa come " [Seq \ .Group] " ;?

Un'altra proposta sarebbe quella di aggiungere una nuova vista sul server sql, senza modificare quella esistente. Anche se la tua vista iniziale fa parte di una "soluzione", nulla ti impedisce di aggiungere nuove viste:

SELECT Table._Group AS [Seq_Group]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top