Isql和osql

Anonim

isql vs osql

Osql和isql都是用于允许SQL Server运行transact SQL命令的连接工具。它们很重要,因为它们的功能类似于SQL Server查询分析器。这两种连接工具如何相互比较?

Osql是一个命令行实用程序,其主要功能是为SQL服务器提供基于ODBC的查询的接口。 osql的使用取代了DB-Library API中isql的使用。此实用程序随Microsoft SQL Server 2000一起提供.isql的限制由osql纠正。

osql的用途之一是允许用户以交互方式输入Transact SQL语句,这些语句模仿命令提示符。操作结果收到的内容显示在osql的命令提示符窗口中。

Osql还允许用户提交由osql执行的作业,该作业既可以指定单个Transact-SQL语句,也可以执行,它指向实用程序与包含Transact-SQL语句的文本文件的确切位置执行。 osql的输出通常指向可以在命令提示符窗口中显示的文本文件。

osql实用程序执行可以直接从操作系统完成,只有几个区分大小写的选项是唯一的例外。启动时,osql将接受SQL语句,因为它将这些语句发送到服务器。结果被格式化并显示在屏幕上,QUIT或EXIT是用于退出命令行的命令。

启动osql时未能指定用户名是SQL Server 2000检查环境变量并使用它们。使用用户和服务器的环境变量的一个很好的例子。如果未设置环境变量,则命令行将导致使用工作站名称。

另一方面,Isql是一个实用程序,其主要功能是允许输入Transact-SQL语句,以及脚本文件和系统过程。它使用DB-Library与Microsoft SQL Server 2000进行通信。

当连接到SQL Server 2000时,Isql用作SQL Server 6.5级别客户端。但是,它不支持某些SQL Server 2000功能。 isql的构建基于ODBC,它不支持某些SQL Server 2000功能。 Isql能够运行osql无法运行的脚本。

isql的一个限制是它不支持Unicode,但SQL Query分析器默认以Unicode格式保存SQL脚本。为避免此问题,首选使用OSQL。如果应该使用isql,也可以使用ANSI。另外需要注意的是,isql默认情况下不会设置任何连接选项。正如在osql中发生的那样,未指定名称会将isql带到环境变量,缺少环境变量会导致使用工作站名称。

摘要

Osql和isql是SQL环境中使用的常用连接工具。 它们允许SQL Server运行transact SQL命令。 命令行实用程序osql的主要功能是为SQL服务器提供基于ODBC的查询的接口。 Osql还允许用户提交执行的作业。 Isql是一个实用程序,其主要功能是允许Transact-SQL语句。 OSQL支持Unicode。 Isql不支持Unicode。它只能使用ANSI格式。 当未指定名称时,osql和isql都将恢复到操作环境,如果没有,则它们将移动以获取工作站的名称。