概要
“SQL Server 桌面引擎”(也叫 MSDE 2000)没有自己的用户界面,因为它主要设计为在后台运行。用户通过 MSDE 2000 嵌入的程序与它交互。 MSDE 2000 提供的唯一工具是 Osql 。可执行文件 Sql.exe 在 MSDE 2000 的默认实例的 MSSQL/Binn 文件夹中。
本文重点讨论如何通过使用 Osql 工具管理 MSDE 2000。
何为 Osql?
Osql 工具是一个 Microsoft Windows 32 命令提示符工具,您可以使用它运行 Transact-SQL 语句和脚本文件。Osql 工具使用 ODBC 数据库应用程序编程接口 (API) 与服务器通讯。
如何使用 Osql?
一般情况下,可以这样使用 osql 工具:
•用户通过与使用命令提示符时相似的方式交互输入 Transact-SQL 语句。
•用户提交 osql 作业,方法是:
1. 指定单个要运行的 Transact-SQL 语句。
2.将该工具指向一个包含要运行的 Transact-SQL 语句的脚本文件。
交互式输入 Transact-SQL 语句
如要显示 osql 工具的区分大小写的选项列表,请在命令提示符下键入如下内容,然后按 ENTER 键:
osql -?
如想了解关于 osql 工具的每一选项的更多信息,请参见“SQL Server 联机图书”中的“osql Utility”主题。
如要交互输入 Transact-SQL 语句,请按照下列步骤操作:
1.确认 MSDE 2000 正在运行。
2.连接到 MSDE 2000(有关更多信息,请参见标题为“连接到 SQL Server 桌面引擎 (MSDE 2000)”的部分)。在 osql 命令提示符下,键入 Transact-SQL 语句,然后按 ENTER 键。 当您在输入的每一行后按 ENTER 键时,osql 将缓存该命令行上的语句。如要运行当前缓存的语句,请键入“Go”,接着按 ENTER 键。
3.如要运行一批 Transact-SQL 语句,请分别在单独的行上输入每一个 Transact-SQL 命令。然后,在最后一行上键入“Go”以表示批处理命令的结束并运行当前缓存的语句。运行结果出现在控制台窗口。
4.当您在输入的每一行后按 ENTER 键时,如想从 osql 退出,请键入 QUIT 或 EXIT,并按 ENTER 键。
提交 Osql 作业
一般情况下,您可以用两种方法之一提交 osql 作业。
1.指定单个 Transact-SQL 语句。
2.将该工具指向一个脚本文件。
指定单个 Transact-SQL 语句
如要针对 MSDE 2000 的本地默认实例运行 Transact-SQL,请键入与下面这一个类似的命令:
osql -E -q "Transact-SQL statement"
-E 表示使用 Microsoft Windows NT 身份验证。
-q 表示运行 Transact-SQL 语句,但是在查询结束时不退出 osql。
如要运行 Transact-SQL 语句并退出 osql,请使用 -Q 参数来代替 -q。
将该工具指向一个脚本文件
如要将该工具指向一个脚本文件,请按照下列步骤操作:
1.创建一个包含一批 Transact-SQL 语句的脚本文件(如 myQueries.sql)。
打开命令提示符,键入与下面类似的一个命令,然后按 ENTER 键:
osql -E -i input_file
其中
input_file 是脚本文件及其完整路径。例如,如果脚本文件 myQueries.sql 在 C:/Queries 文件夹中,请将参数 input_file 替换为 C:/Queries/myQueries.sql。
2.该脚本文件的运行结果将出现在控制台窗口中。如果您想将运行结果定向到一个文件,请向上述命令中添加 -o output_file 参数。例如:
osql -E -i input_file -o output_file
其中
output_file 是输出文件及其完整路径。
如想消除输出结果中的编号和提示符号,请向上述命令中添加 -n 选项。例如:
osql -E -i input_file -o output_file -n
连接到 SQL Server 桌面引擎 (MSDE 2000)
如要连接到 MSDE 2000,请按照下列步骤操作:
1.确认 MSDE 2000 正在运行。
2.在承载您要连接的 MSDE 2000 实例的计算机上打开一个命令窗口。
3.键入下面的命令,然后按 ENTER 键:
osql -E
这可以通过使用 Windows 身份验证将您连接到 MSDE 2000 的本地默认实例。
如要连接到 MSDE 2000 的一个命名实例,请键入:
osql -E -S servername/instancename
如果您收到了下面的错误消息,表明 MSDE 2000 可能未在运行,或者您可能为安装的 MSDE 2000 的命名实例提供了错误的名称:
[Shared Memory]SQL Server does not exist or access denied.
[Shared Memory]ConnectionOpen (Connect()).
如果您成功连接到了该服务器,就会出现下面的提示:
1>
此提示表示 osql 已启动。现在,您可以交互输入 Transact-SQL 语句,运行结果将出现在命令提示行上。
管理 MSDE 2000
MSDE 完全适用于所有版本的 Microsoft SQL Server 2000,可以通过企业管理器来管理。