我尝试以这种格式运行我的软件的更新脚本:
osql.exe -i "path\to\script" -U "用户" -P "密码" -S "sqlserver 位置" -d "数据库名称" -n -b
大多数脚本的格式相同,并且都以 GO 结尾。其中很多都运行得很好,但随机脚本总是返回错误并且无法运行。错误是“第 1 行‘∩’附近的语法不正确。脚本可能就像插入一样简单,但总是这个错误。我似乎无法在网上找到任何可以帮助我的内容。任何人都可以提供任何见解吗?
这些脚本手动运行得很好。另外有趣的是,如果我创建一个新的文本文档并将脚本粘贴到新文件中并将其更改为 .sql 并运行该文件,那么它就可以正常工作。我只是对所有“损坏”的脚本执行此操作,但它会继续发生在新脚本上,并且最终也会发生在更改的脚本上。
很可能是因为文件编码为 Unicode 而不是 UTF-8。您可以在 Notepad++ 以及其他免费实用程序中查看这一点。尝试将其转换为 UTF-8,看看是否有帮助。
UPDATE
更正:正如评论中链接的文章所解释的,osql 可以解析编码为 UTF-16 (Unicode 1200) 或“ANSI”(Windows-1252) 的文本文件,但无法解析 UTF-8 编码的文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)