如何使用 Emacs 连接到 SQL Server?
-
08-07-2019 - |
题
我要采取什么步骤?使用 Emacs 时有哪些需要注意的问题或增强 SQL Server 特有的 IDE 体验的技巧?
解决方案
正在连接
要从 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模式。
有时显示emacs的sql-ms很糟糕,因为显示的某些列太宽而无法阅读。
这里有一些糟糕的输出体验技巧。
1
M-x toggle-truncate-lines
切换截断线可以提高一些可读性。
2
select left(columnName, 25) from table
这会将列宽缩小为25个字符。这对我来说非常适合。
来源在这里: http://bloggingmath.wordpress.com/ 2011/02/03 /使用-emacs的-AS-您-SQL接口/
作者提到<!> quot; gotchas <!> quot;尝试连接到SQL服务器时。
当尝试连接到 mysql 服务器时,作为最高投票的答案建议通过M-x sql-mysql
完成,我发现我不断获得
无法找到SQL程序'mysql'
按照关于emacs,sql和Macs的这个SO问题的建议,我设置以下值:
(setq sql-mysql-program "/usr/local/mysql/bin/mysql")
这是我本地 mysql 二进制文件的位置/路径。
不知道为什么在我见过的任何其他教程中都没有提到这个变量,所以我在这里发布,如上所述<!> quot; gotcha <!> quot;连接到 mysql 服务器时。