这里的新手问题:我有FreeTDS工作和查询Microsoft SQL server 2008SQLdb,从一个mint linux虚拟机,读取互联网,主要是堆栈溢出,它提到我应该使用FreeTDS,SQSH & FreeTDS,我不明白sqsh,除了我猜的cli的某种类型,添加了什么,因为我可以使用FreeTDS访问数据库。任何信息,以澄清这一点将不胜感激。
发布于 2012-10-30 03:04:38
我过去用过很多次sqsh。这真的很有帮助。
如果你使用过sybase/mSServer isql,你就会知道这真的很痛苦。没有真正支持cmd行编辑和历史记录。SQSH最初的创建目的是提供一个类似shell的cmd-line环境,用于与数据库接口。它很容易用来从数据库中提取数据并保存到文件中。然后,您可以根据需要编辑该文件,并使用bcp或其他将数据加载到新表中。
SQSH shell支持环境变量、文件重定向(我不记得使用过输入方向internallY,但可以编写
select c1, c2, c3,c7, c120 from customer > customerFile非常方便。
在左侧菜单中的features链接下,查看http://www.sqsh.org上的完整功能列表。
Commands
Variables
Redirection and Pipes
Aliasing
Command Substitution
Backgrounding & Job Control
SQL Batch History
Configurable Exit Status
Inter-Server BCP
Remote Procedure Calls
Semicolon "go"
Simple Scripting
Flow-of-Control
Functions
Multiple Display Styles
X Windows Support
Macro Pre-Processing
Miscellaneous
Commands注意,控制流允许有一个返回多行结果集的查询,并对每条记录使用do和while循环处理。这也支持if ... elif ..fi块。我不记得经常使用这些功能,但我找到了别名和env变量,重定向为我节省了几个小时。
也就是说,我是一个有动力的用户。文档不会提供给您所有的答案,因此需要一些时间进行实验、挠头和复习。
除了读过关于TDS的文章,我没有任何使用TDS的经验。基本上,您需要回答的问题是,我是不是shell命令行垃圾,我是否愿意花一点时间来学习如何在基于文本的SQL客户机中获得命令行功能。
IHTH。
发布于 2014-07-03 04:23:07
TDS (表格数据流)是Sybase和MSSQL正在使用的本地客户端-服务器通信协议,并在CT_Library中实现,这是一组专有的中间件软件和实用程序。FreeDTS是CT-Library的OpenSource等价物。Sqsh使用CT-Library调用与服务器通信,并且可以与Sybase CT-Library或FreeTDS构建/链接。Sybase CT-Library仅支持TDS 5.0及以下版本,而MSSQL目前使用TDS 7.0或8.0版本。FreeTDS也支持这些协议版本。因此,如果您希望sqsh能够连接到MSSQL,那么您将需要FreeTDS作为中间件层。FreeTDS还附带了几个基本实用程序,您可以使用它们连接到服务器并执行一些SQL语句(fisql、tsql)。然而,Sqsh提供了更多的功能,就像一个真正的shell。
发布于 2012-10-30 00:48:13
我在ubuntu上结合使用了unixodbc和freetds以及perl的ODBC模块。有时(虽然很少)我会使用isql进行快速查询,但仅此而已。SQSH类似于isql,具有更好的功能。查看SQSH wiki
SQSH比isql有更多的特性。然而,我从来没有遇到过必须广泛使用isql / sqsh的用例。无论我拥有什么,我都是通过perl完成的。
https://stackoverflow.com/questions/13124785
复制相似问题