Ubuntu 10.04でSQSH(バージョン2.1)を使用して、次のようなコマンドを使用してMSSQLデータベースに接続しています。
sqsh -S server -U user -P password -D database
My Tableというテーブルがありますが、そのテーブルでSELECTクエリを実行する方法が見つかりません。これは私がこれまでに試したことです:
SELECT * FROM 'My Table'
go
出力:「マイテーブル」の近くの構文が正しくありません。(二重引用符についても同じです)
\set t="My Table"
SELECT * FROM $t
go
出力:無効なオブジェクト名'My'。(\ echo $ tを実行すると、完全なテーブル名が取得されるため、これは奇妙です)
SELECT * FROM My\\ Table
go
出力:無効なオブジェクト名'My'。
SELECT * FROM [My Table]
go
出力:Unicodeのみの照合またはntextデータのUnicodeデータは、DB-Library(ISQLなど)またはODBCバージョン3.7以前を使用してクライアントに送信できません。
この最後のコマンドは、スペースのないテーブル名に対しては正常に機能します。
更新:他のコマンドは正常に機能します。たとえば、次のコマンドでテーブルの説明を取得できます。
SELECT column_name,data_type FROM information_schema.columns WHERE table_name = 'My Table'
go