【发布时间】:2008-11-18 17:40:00
【问题描述】:
我要采取哪些步骤?在使用 Emacs 时,有任何需要注意的问题或增强特定于 SQL Server 的 IDE 体验的提示吗?
【问题讨论】:
标签: sql-server emacs ide database-connection sql-mode
我要采取哪些步骤?在使用 Emacs 时,有任何需要注意的问题或增强特定于 SQL Server 的 IDE 体验的提示吗?
【问题讨论】:
标签: sql-server emacs ide database-connection sql-mode
正在连接
从 Emacs 连接到 SQL Server 数据库实例:
M-x sql-ms RET
M-x sql-mode
系统将提示您输入标准连接信息,具体如下:
对于 SQL Server 身份验证,输入必要的用户和密码信息。但是,如果通过 Windows 身份验证连接,则用户和密码都按 RETURN,将它们留空。
查看输出结果
请注意,要查看 *SQL* 缓冲区中任何输出结果的文本,应该在某个时候调用“go”语句。有几种方法可以做到这一点。
例如,这条 sql 语句将执行,但它不会在 *SQL* 缓冲区中以其当前格式显示任何结果文本:
select 'foo' as bar
但是,如果在末尾附加“go”:
select 'foo' as bar
go
*SQL* 缓冲区中将显示以下内容:
bar
-----
foo
(1 row affected)
或者,如果您不想让“go”语句在 SQL 脚本的文本中乱扔垃圾,请即时调用“go”以查看自上次发送“go”语句以来的所有输出结果sql进程:
C-c C-s go RET
如果您需要查看最初可能未显示在 *SQL* 缓冲区中的任何错误消息,这将很有帮助。
【讨论】:
sql-ms (Microsoft SQL Server)
Error: No user selected. Try with -U or -E switches
osql 连接到该版本不支持的 sql server:stackoverflow.com/a/2132471/4872
有时 emacs 的 sql-ms 显示很糟糕,因为显示的某些列太宽而无法阅读。
这里有一些针对糟糕输出体验的技巧。
1.
M-x toggle-truncate-lines
toggle truncate-lines 可以提高一些可读性。
2.
select left(columnName, 25) from table
这会将列宽截断为 25 个字符。这对我来说很完美。
来源在这里: http://bloggingmath.wordpress.com/2011/02/03/using-emacs-as-your-sql-interface/
【讨论】:
【讨论】:
作者在尝试连接到 SQL 服务器时提到了“陷阱”。
当尝试连接到 mysql 服务器时,正如投票最多的答案所暗示的那样,这是通过 M-x sql-mysql 完成的,我发现我不断得到
找不到 SQL 程序“mysql”
按照at this SO question concerning emacs, sql and Macs的建议,我设置了以下值:
(setq sql-mysql-program "/usr/local/mysql/bin/mysql")
这是我的本地 mysql 二进制文件的位置/路径。
不知道为什么在我看过的任何其他教程中都没有提到这个变量,所以我把它贴在这里,作为前面提到的连接到 mysql 服务器时的“陷阱”。 p>
【讨论】: