Domanda

Sto usando SQSH (versione 2.1) su Ubuntu 10.04 per connettermi a un database MSSQL utilizzando un comando come questo:

sqsh -S server -U user -P password -D database

Ho un tavolo chiamato il mio tavolo, ma non riesco a trovare un modo per eseguire una query selezionata su di esso. Questo è quello che ho provato finora:

SELECT * FROM 'My Table'
go

Output: sintassi errata vicino a "My Table". (Ottengo lo stesso per le doppie citazioni)

\set t="My Table"
SELECT * FROM $t
go

Output: nome oggetto non valido 'mio'. (Che è strano perché se faccio echo $ t, ottengo il nome della tabella completa)

SELECT * FROM My\\ Table
go

Output: nome oggetto non valido 'mio'.

SELECT * FROM [My Table]
go

Output: i dati Unicode in una raccolta solo Unicode o i dati NTEXT non possono essere inviati ai client utilizzando DB-Library (come ISQL) o ODBC versione 3.7 o precedente.

Quest'ultimo comando funziona bene per i nomi di tabelle senza spazi.

Aggiornamento: altri comandi funzionano bene, ad esempio posso ottenere la descrizione della tabella con:

SELECT column_name,data_type FROM information_schema.columns WHERE table_name = 'My Table'
go

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top