通过osql连接sqlserver
sqlserver2000查询分析器只支持64k脚本,所以一般通过insert导入数据的.sql脚本就根本是不可能的事了,通过搜索发现可以通过 osql命令连接脚本文件并且执行脚本。
用法: osql [-U 登录 ID] [-P 密码]
[-S 服务器] [-H 主机名] [-E 可信连接]
[-d 使用数据库名称] [-l 登录超时值] [-t 查询超时值]
[-h 标题] [-s 列分隔符] [-w 列宽]
[-a 数据包大小] [-e 回显输入] [-I 允许带引号的标识符]
[-L 列出服务器] [-c 命令结束] [-D ODBC DSN 名称]
[-q "命令行查询"] [-Q "命令行查询" 并退出]
[-n 删除编号方式] [-m 错误级别]
[-r 发送到 stderr 的消息] [-V 严重级别]
[-i 输入文件] [-o 输出文件]
[-p 打印统计信息] [-b 出错时中止批处理]
[-X[1] 禁用命令,[退出的同时显示警告]]
[-O 使用旧 ISQL 行为禁用下列项]
<EOF> 批处理
自动调整控制台宽度
宽消息
默认错误级别为 -1 和 1
[-? 显示语法摘要]
命令行操作有时比在图形界面下用鼠标还高效,所以高手常用命令行操作,下面简介SQL Server 命令行工具 isql 和 osql。
isql 实用工具使您得以输入 Transact-SQL 语句、系统过程和脚本文件;并且使用 DB-Library 与 SQL Server 2000 进行通讯。
osql 实用工具使您得以输入 Transact-SQL 语句、系统过程和脚本文件。该实用工具通过 ODBC 与服务器通讯。
◆ 信任连接:
>isql -E
或
>osql -E
◆ 察看所有数据库:
use master
exec sp_helpdb
GO
◆ 察看数据库 pubs:
use master
exec sp_helpdb pubs
GO
◆ 察看数据库 pubs 中的对象:
USE pubs
EXEC sp_help
GO
相当于 Oracle 的 SELECT table_name FROM user_objects;
◆ 察看数据库 pubs 中的表 employee 结构:
USE pubs
EXEC sp_help employee
GO
相当于 Oracle 的 SQL*PLUS 中的 DESC employees
◆ SELECT 语句:
USE pubs
SELECT * FROM employee
GO
◆ 当使用单引号分隔一个包括嵌入单引号的字符常量时,用两个单引号表示嵌入单引号,例如:
SELECT 'O''Leary'
GO
◆ 用7.个双引号表示嵌入双引号,例如:
SELECT 'O"Leary'
GO
◆ SQL Server 数据库信息查询
use master
exec sp_helpdb pubs
GO
或:
use master
SELECT name, dbid FROM sysdatabases
GO
◆ 查数据库对象 (相当于 Oracle 的 SELECT * FROM user_tables;)
USE pubs
EXEC sp_help
GO
或
use master
SELECT name, id FROM pubs.dbo.sysobjects WHERE type='U'
GO
◆ 查字段 (相当于 Oracle 的 SQL*PLUS 中的 DESC employees )
USE pubs
EXEC sp_help employee
GO
◆ 查看指定
USE pubs
SELECT name, id, xtype, length
FROM syscolumns WHERE id=277576027
GO
USE pubs
SELECT *
FROM syscolumns WHERE id=277576027
GO
◆ 查看数据类型名字的定义:
SELECT name, xtype
FROM systypes
GO
◆ 从命令行启动“查询分析器”
>isqlw
◆ isql命令 描述
GO 执行最后一个 GO 命令之后输入的所有语句。
RESET 清除已输入的所有语句。
ED 调用编辑器。
!! command 执行操作系统命令。
QUIT 或 EXIT( ) 退出 isql。
CTRL+C 不退出 isql 而结束查询。
仅当命令终止符 GO(默认)、RESET、ED、!!、EXIT、QUIT 和 CTRL+C 出现在一行的开始(紧跟 isql 提示符)时才可以被识别。isql 忽视同一行中这些关键字后输入的任何内容。