通过osql.exe运行脚本的问题

use*_*105 4 sql osql

我尝试以这种格式运行我的软件的更新脚本:

osql.exe -i"path\to\script"-U"user"-P"Password"-S"sqlserver的位置"-d"数据库名称"-n -b

大多数脚本都采用相同的格式,并且都以GO结尾.很多它们运行得很好,但随机脚本一直返回错误而不会运行.错误是"第1行'∩'附近的语法不正确.脚本可能就像INSERT一样简单,但总是出现这个错误.我似乎无法在网上找到任何能够帮助我的东西.谁能提供任何见解?

脚本可以手动运行.另外一件有趣的事情是,如果我创建一个新的文本文档并将脚本粘贴到新文件中并将其更改为.sql并运行该文件,那么它的工作正常.我只是为所有"破碎"的脚本执行此操作,但它会继续发生在新的脚本上,最终会发生在已更改的脚本上.

Pin*_*nyM 5

很可能是因为该文件被编码为Unicode而不是UTF-8.您可以在Notepad ++中查看其他免费实用程序.尝试将其转换为UTF-8,看看是否有帮助.

UPDATE

更正:正如评论中链接的文章所解释的那样,osql可以解析编码为UTF-16(Unicode 1200)或"ANSI"(Windows-1252)的文本文件,但它无法解析UTF-8编码的文件.