代码之家  ›  专栏  ›  技术社区  ›  Kiquenet user385990

使用osql.exe时出错(Sql Server 2005)

  •  1
  • Kiquenet user385990  · 技术社区  · 14 年前

    我使用sqlserver2005enterprise,windowsserver2003。

    我尝试执行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命令!!

    I测试:

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

    CREATE DATABASE PRUEBA;
    
    DROP DATABASE PRUEBA;
    

    但在所有的测试中,我都会犯同样的错误。

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

    2 回复  |  直到 14 年前
        1
  •  2
  •   Dog Ears    14 年前

    我觉得你找错地方了。。

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


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

    this this 再多了解一点。

        2
  •  0
  •   Alex K.    14 年前

    这个 -n 1> 2> ... 行号提示和afaik没有其他标志,因此删除 -1 .