1

我使用 sql server 2005 企业版,windows server 2003。

我尝试执行 osql.exe 命令,以在我的服务器 DESSQL 中执行 sql 文件:

osql.exe -E -n-1 -i"CarpetaUno\TextFile1.sql"

我收到此错误:

Msg 102, Level 15, State 1, Server DESSQL, Line 1
Incorrect syntax near 'n'

更新:

这个我也试试

osql.exe -E -i"CarpetaUno\TextFile1.sql"

1> 2> Msg 102, Level 15, State 1, Server DESSQL, Line 1
Incorrect syntax near 'n'

最后,我使用 SQLCMD 命令:

SQLCMD -E -b -i"CarpetaUno\TextFile1.sql"

但不能使用 osql 命令!

我测试:

1.) 使用 -S ServerName 选项,

2.) 使用绝对路径:osql.exe -E --i C:\CarpetaUno\TextFile1.sql

3.) TextFile1.sql 内容,可以,我用SSMS测试

CREATE DATABASE PRUEBA;

DROP DATABASE PRUEBA;

但在所有测试中我都遇到了同样的错误。

如果我在文件中使用 utf-8 编码,它会失败吗???

任何解决方案?

4

2 回答 2

2

我认为你在吠叫错误的树..

错误 102 是不正确的 SQL 语法,很可能来自源 SQL 文件。

更新
我想你已经回答了你自己的问题.. OSQL 接受 ANSI 和 Unicode 编码的文件,但我尝试用 notepad++ 打开我的文件,将编码更改为 UTF-8,我得到了类似的错误。

一个快速的谷歌给了我这个这个以及更多的信息。

底线是:使用 SQLCMD.exe

于 2010-07-27T11:07:36.740 回答
0

-n选项删除1> 2> ...行号提示,并且 afaik 没有其他标志随之而来,因此删除-1.

于 2010-07-27T10:58:57.433 回答