我在Ubuntu 10.04上使用SQSH(版本2.1)使用如下命令连接到MSSQL数据库:
sqsh -S server -U user -P password -D database
Run Code Online (Sandbox Code Playgroud)
我有一个名为My Table的表,但我找不到在其上运行SELECT查询的方法.这是我到目前为止所尝试的:
SELECT * FROM 'My Table'
go
Run Code Online (Sandbox Code Playgroud)
输出:"我的表"附近的语法不正确.(双引号我也一样)
\set t="My Table"
SELECT * FROM $t
go
Run Code Online (Sandbox Code Playgroud)
输出:无效的对象名称"我的".(这很奇怪,因为如果我做\ echo $ t,我得到完整的表名)
SELECT * FROM My\\ Table
go
Run Code Online (Sandbox Code Playgroud)
输出:无效的对象名称"我的".
SELECT * FROM [My Table]
go
Run Code Online (Sandbox Code Playgroud)
输出:不能使用DB-Library(例如ISQL)或ODBC 3.7或更早版本将Unicode数据(仅限Unicode的归类或ntext数据)发送到客户端.
最后一个命令适用于没有任何空格的表名.
更新:其他命令工作正常,例如我可以获取表描述:
SELECT column_name,data_type FROM information_schema.columns WHERE table_name = 'My Table'
go
Run Code Online (Sandbox Code Playgroud)
Chr*_*cht 12
将表名放在引号中在MS SQL Server中不起作用.
正确的方法是使用[ ]
:
SELECT * FROM [My Table]
Run Code Online (Sandbox Code Playgroud)
终于找到了解决办法。我必须将以下两行添加到 /etc/freetds/freetds.conf
tds version = 8.0
client charset = UTF-8
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
50356 次 |
最近记录: |