【发布时间】:2010-07-27 10:51:36
【问题描述】:
我使用的是 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 编码会失败吗???
有什么解决办法吗?
【问题讨论】:
-
你确定你的TextFile1.sql没有问题,你可以手动运行文件吗?
-
我们可以看到文件TextFile1.sql的第1行
-
TextFile1.sql 内容:创建数据库 PRUEBA;
-
你试过在-i和SQL文件之间加空格吗,像这样:osql.exe -E -i "CarpetaUno\TextFile1.sql"
-
还添加 -e 并仔细检查输入 SQL 是否符合您的期望
标签: sql-server-2005 file osql