将Sqsh与FreeTDS一起使用的优势是什么



这里的新手问题:我让FreeTDS工作并查询Microsoft SQL server 2008 r2 db,从一个mint linux vm,读取inter-web,主要是stackoverflow,有人提到我也应该将sqsh与FreeTDS、sqsh&FreeTDS,我不明白sqsh除了是某种类型的cli之外,还添加了什么,因为我可以使用FreeTDS访问数据库。。如果有任何信息可以澄清,我们将不胜感激。

我过去经常使用sqsh。这真的很有帮助。

如果您使用过sybase/mSServer isql,您就会知道这是一个真正的痛苦。没有真正支持cmd行编辑和历史记录。创建SQSH最初是为了提供一个类似shell的cmd行环境,用于与数据库接口。它非常容易从数据库中提取数据并保存到文件中。然后,您可以根据需要编辑文件,并使用bcp或其他方法将数据加载到新表中。

SQSHshell支持环境变量、文件重定向(我不记得使用输入方向internallY,但能够编写

select c1, c2, c3,c7, c120 from customer > customerFile

非常方便。

请参阅上的完整功能列表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

请注意,控制流允许有一个返回多行结果集的查询,并对每条记录使用dowhile循环处理。这也支持if ... elif ..fi块。我不记得用过那么多这些功能,但我找到了别名和env-var,重定向为我节省了几个小时。

也就是说,我是一个积极的用户。文档不会向你提供所有的答案,因此需要一些时间来进行实验、挠头和复习。

我对TDS没有任何经验,只是读过它。基本上,你需要回答的问题是,我是shell命令行迷吗?我愿意花一点时间学习如何在基于文本的SQL客户端中获得cmd行功能吗。

IHTH。

TDS(表格数据流)是Sybase和MSSQL正在使用的本机客户端-服务器通信协议,并在CT_Library中实现,CT_Librray是一组专有的中间件软件和实用程序。FreeDTS是CT库的开源等价物。Sqsh使用CT库调用与服务器通信,并且可以与Sybase CT库或FreeTDS构建/链接。Sybase CT Library仅支持TDS 5.0及以下版本,而MSSQL目前使用TDS 7.0或8.0版本。FreeTDS也支持这些协议版本。因此,如果您希望sqsh能够连接到MSSQL,则需要FreeTDS作为中间件层。FreeTDS还附带了一些基本实用程序,您可以使用这些实用程序连接到服务器并执行一些SQL语句(fisql、tsql)。然而,Sqsh提供了更多的功能,就像一个真正的shell。

我将ubuntu上的unixodbc和freetds与perl的ODBC模块结合使用。有时(虽然很少)我会使用isql进行快速查询,但仅此而已。SQSH类似于isql,具有更好的功能。查看SQSH wiki

SQSH比isql有更多的功能。然而,我从未遇到过必须广泛使用isql/sqsh的用例。无论我有什么,我都是通过perl实现的。

相关内容

  • 没有找到相关文章

最新更新