1.建立C:\TEST.SQL文件,内容为:select * from SERVERNAME.pubs.dbo.sales
2.在DOS PROMPT下运行:OSQL /U sa /P /i c:\test.sql

解决方案 »

  1.   

    在c盘下拷贝osql.exe到C:\Program Files\Microsoft SQL Server\80\Tools\Binn
      

  2.   

    是不是因为没有指定服务器的原因(就是加上/S <DBServerName>参数)
      

  3.   

    多谢各位的帮助,我按照各位的指示都做了一遍,但现在问题还是没解决.我的SQL脚本文件都是通过现有的表导出来的,现在我希望在我的应用程序安装时通过xp_cmdShell存储过程来在目标数据库上执行这些Sql脚本文件,但现然不知为什么总不行
      

  4.   

    你将你的具体的CODE贴出来看看,我写的一定没有问题.
    OSQL /U sa /P /i c:\test.sql /O TEST.OUT
    另外你可以加个OUT文件,判断是否成功.
      

  5.   

    我是这样执行的:
    第一步:运行CMD,进入命令状态
    第二步:敲入命令:
         osql /S 192.168.0.96 /D jeffcls /U sa /P cls /i E:\Documents and Settings\Cls\Desktop\class.sql
    结果出现:
    用法: osql              [-U login id]          [-P password]
      [-S server]            [-H hostname]          [-E trusted connection]
      [-d use database name] [-l login timeout]     [-t query timeout]
      [-h headers]           [-s colseparator]      [-w columnwidth]
      [-a packetsize]        [-e echo input]        [-I Enable Quoted Identifiers]
      [-L list servers]      [-c cmdend]            [-D ODBC DSN name]
      [-q "cmdline query"]   [-Q "cmdline query" and exit]
      [-n remove numbering]  [-m errorlevel]
      [-r msgs to stderr]    [-V severitylevel]
      [-i inputfile]         [-o outputfile]
      [-p print statistics]  [-b On error batch abort]
      [-O use Old ISQL behavior disables the following]
          <EOF> 正在进行批处理
          控制台宽度自动调整
          宽消息
          默认错误级别为 — 1 对 1
      [-? show syntax summary]E:\Documents and Settings\Cls>
    ---------------------------------------------------------------
    把/S/D选项去了也是一样,
    附,class.sql文件内容:if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ClassInfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[ClassInfo]
    GOCREATE TABLE [dbo].[ClassInfo] (
    [ID] [bigint] IDENTITY (1, 1) NOT NULL ,
    [ClassName] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL ,
    [ClassDir] [varchar] (150) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL ,
    [ClassID] [char] (14) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
    [ClassPrice] [float] NOT NULL ,
    [ClassAt] [varchar] (6) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL ,
    [ClassServerNo] [int] NOT NULL ,
    [ClassLevel] [int] NOT NULL ,
    [ThemPic] [varchar] (150) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL ,
    [ClassCreatedDate] [datetime] NOT NULL ,
    [ClassClickCount] [int] NOT NULL ,
    [P_ClassType] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL ,
    [C_ClassType] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
    [ClassMemo] [varchar] (150) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
    [picShowMode] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
    [ClassModifyDate] [datetime] NULL ,
    [ClassServerNoS] [char] (10) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL 
    ) ON [PRIMARY]
    GOALTER TABLE [dbo].[ClassInfo] WITH NOCHECK ADD 
    CONSTRAINT [DF_ami123_Cartoon_ClassInfo_ClassPrice] DEFAULT (0) FOR [ClassPrice],
    CONSTRAINT [DF_ami123_Cartoon_ClassInfo_ClassAt] DEFAULT ('Server') FOR [ClassAt],
    CONSTRAINT [DF_ami123_Cartoon_ClassInfo_ClassServerNo] DEFAULT (0) FOR [ClassServerNo],
    CONSTRAINT [DF_ami123_Cartoon_ClassInfo_ClassLevel] DEFAULT (0) FOR [ClassLevel],
    CONSTRAINT [DF_ami123_Cartoon_ClassInfo_ClassCreatedDate] DEFAULT (getdate()) FOR [ClassCreatedDate],
    CONSTRAINT [DF_ami123_Cartoon_ClassInfo_ClassClickCount] DEFAULT (0) FOR [ClassClickCount],
    CONSTRAINT [DF_ami123_Cartoon_ClassInfo_P_ClassType] DEFAULT ('雜合類') FOR [P_ClassType],
    CONSTRAINT [DF_ami123_Cartoon_ClassInfo_ClassModifyDate] DEFAULT (getdate()) FOR [ClassModifyDate],
    CONSTRAINT [PK_ami123_Cartoon_ClassInfo] PRIMARY KEY  CLUSTERED 
    (
    [ID]
    )  ON [PRIMARY] 
    GO
    exec sp_addextendedproperty N'MS_Description', N'圖片類別名', N'user', N'dbo', N'table', N'ClassInfo', N'column', N'ClassName'
    GO
    exec sp_addextendedproperty N'MS_Description', N'圖片類別所在的目錄', N'user', N'dbo', N'table', N'ClassInfo', N'column', N'ClassDir'
    GO
    exec sp_addextendedproperty N'MS_Description', N'圖片類別內部名', N'user', N'dbo', N'table', N'ClassInfo', N'column', N'ClassID'
    GO
    exec sp_addextendedproperty N'MS_Description', N'觀看此項目的付費', N'user', N'dbo', N'table', N'ClassInfo', N'column', N'ClassPrice'
    GO
    exec sp_addextendedproperty N'MS_Description', N'相冊目錄在何處(Server,在服務器上﹐Local﹐在客戶端)', N'user', N'dbo', N'table', N'ClassInfo', N'column', N'ClassAt'
    GO
    exec sp_addextendedproperty N'MS_Description', N'該相冊所在服務器的編號(0-5),0表示相冊在本地服務器﹐默認為0', N'user', N'dbo', N'table', N'ClassInfo', N'column', N'ClassServerNo'
    GO
    exec sp_addextendedproperty N'MS_Description', N'相冊的級別:0﹐普通 1,限制', N'user', N'dbo', N'table', N'ClassInfo', N'column', N'ClassLevel'
    GO
    exec sp_addextendedproperty N'MS_Description', N'主題圖片', N'user', N'dbo', N'table', N'ClassInfo', N'column', N'ThemPic'
    GO
    exec sp_addextendedproperty N'MS_Description', N'項目創建日期', N'user', N'dbo', N'table', N'ClassInfo', N'column', N'ClassCreatedDate'
    GO
    exec sp_addextendedproperty N'MS_Description', N'相冊人氣值', N'user', N'dbo', N'table', N'ClassInfo', N'column', N'ClassClickCount'
    GO
    exec sp_addextendedproperty N'MS_Description', N'父分類名', N'user', N'dbo', N'table', N'ClassInfo', N'column', N'P_ClassType'
    GO
    exec sp_addextendedproperty N'MS_Description', N'版區描述', N'user', N'dbo', N'table', N'ClassInfo', N'column', N'ClassMemo'
    GO
    exec sp_addextendedproperty N'MS_Description', N'主題圖片的顯示方式﹐默認為空﹐表示為系統選擇模式', N'user', N'dbo', N'table', N'ClassInfo', N'column', N'picShowMode'
    GO
      

  6.   

    改成以下即可:
    osql -U sa -P cls -S 192.168.0.96 -d jeffcls -i E:\Documents and Settings\Cls\Desktop\class.sql
      

  7.   

    楼上的OSQL可以大空格么?
    osql -U sa -P cls -S 192.168.0.96 -d jeffcls -i E:\Cls\Desktop\class.sql
      

  8.   

    osql -U用户名 -P密码 -i c:\***.sql
      

  9.   

    osql /Slocalhost /E -ic:\***.sql