Używam SQSH (wersja 2.1) na Ubuntu 10.04, aby połączyć się z bazą danych MSSQL za pomocą polecenia tak:SELECT zapytania na stole z miejsca w nazwie używając SQSH
sqsh -S server -U user -P password -D database
mam tabela o nazwie Moja tabela, ale nie mogę znaleźć na niej sposobu uruchomienia kwerendy SELECT. Oto, co próbowałem do tej pory:
SELECT * FROM 'My Table'
go
Wynik: Niepoprawna składnia w pobliżu "Mojej tabeli". (Otrzymuję to samo dla podwójnych cytatów)
\set t="My Table"
SELECT * FROM $t
go
Wynik: Niepoprawna nazwa obiektu "Mój". (Co jest dziwne, bo jeśli mam echo $ \ t, mam pełną nazwę tabeli)
SELECT * FROM My\\ Table
go
wyjściowa: Nieprawidłowa nazwa obiektu „My”.
SELECT * FROM [My Table]
go
wyjściowe: dane Unicode w Unicode tylko zestawień lub danych ntext nie mogą być wysyłane do klientów za pomocą DB-Library (takich jak ISQL) lub ODBC w wersji 3.7 lub starszej.
To ostatnie polecenie działa poprawnie w przypadku nazw tabel bez spacji.
AKTUALIZACJA: inne polecenia działają dobrze, np. Mogę uzyskać opis tabeli za pomocą:
SELECT column_name,data_type FROM information_schema.columns WHERE table_name = 'My Table'
go
Używasz Sybase i masz tabelę ze spacjami w nazwie? –
Nie, to jest baza danych MSSQL. Przepraszamy, może tagi były mylące. – jackocnr
Czy możesz sprawdzić, co się stanie, jeśli usuniesz spację z nazwy tabeli? –