OSQL的问题

liu19801204 2008-10-28 10:41:38
有一个简单的查询,内容存储在 a.sql 文件里面, 内容如下:
select Name_nvarchar From test;
GO
然后我做了 bat 文件,文件内容如下:
osql -U"sa" -P"sa" -S"RD018" -d"pubs" -n -i a.sql >>log.txt

我所要实现的目的是让 bat 去调用 osql, 最后把输出结果写到文件 log.txt 里面去.
但是我在执行完 bat 后, 发现日志文件报 Incorrect syntax near the keyword 'From'. 错误, 我搞不懂了, 还请大家指点!


...全文
90 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liu19801204 2008-10-28
  • 打赏
  • 举报
回复
我按照 青锋 所说的做了, 在我的机器上始终不行.
liu19801204 2008-10-28
  • 打赏
  • 举报
回复
我是直接执行的 bat 文件报的错
liu19801204 2008-10-28
  • 打赏
  • 举报
回复
我再补充一点, 如果在查询语句前面加上一句
use pubs;
go
select Name_nvarchar From test;
go
或者改为:
go
select Name_nvarchar From test;
go

错误信息变为 找不到存储过程 use(或go), 但是 select 语句会正确无误地把查询结果输出到日志文件中.
听说 邹建 大哥在SQLServer这方面是专家, 还请多多指点!!
青锋-SS 2008-10-28
  • 打赏
  • 举报
回复

--测试了,没有问题,我把a.sql保存到如下所示的路径,更改了服务器名称,用户名及密码,测试没有问题
C:\Documents and Settings\Administrator>osql -U"hstsoft" -P"abc123" -S".\sql2k"
-d"pubs" -n -i a.sql >>log.txt

C:\Documents and Settings\Administrator>osql -U"hstsoft" -P"abc123" -S".\sql2k"
-d"pubs" -n -i a.sql >log.txt

C:\Documents and Settings\Administrator>type log.txt
Name_nvarchar
--------------------------------------------------

(0 行受到影响)

C:\Documents and Settings\Administrator>
liu19801204 2008-10-28
  • 打赏
  • 举报
回复
CREATE TABLE [test] (
[SeqID_int] [int] IDENTITY (1, 1) NOT NULL ,
[Name_nvarchar] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
PRIMARY KEY CLUSTERED
(
[SeqID_int]
) ON [PRIMARY]
) ON [PRIMARY]
GO


这个是表结构
青锋-SS 2008-10-28
  • 打赏
  • 举报
回复
我试了一下,也没有问题.
zjcxc 2008-10-28
  • 打赏
  • 举报
回复
我的机器上测试过没有问题, 结果如下(因为我的上面没有这个表)
消息 208,级别 16,状态 1,服务器 ZJ,第 1 行
对象名 'test' 无效。
zjcxc 2008-10-28
  • 打赏
  • 举报
回复
把你调用的a.sql的目录加上, 确保没有加载错脚本文件

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧