"Could not find stored procedure 'ÿþ' " 错误

"Could not find stored procedure 'ÿþ' " error

我正在尝试执行查询,从 SQL 脚本文件中读取内容后,将其分配给一个变量,然后执行该内容。然后我收到此错误消息 Could not find stored procedure 'ÿþ'。请帮助我理解这个问题。谢谢。

信息:

SQL Server 2014

SSMS Version - 12.0.4100.1

ÿþ 是解释 UTF-16 byte order mark 的两个字节的一种方法,即 \xFF 和 \xFE。

当您读取一个以 UTF-16 编码保存的文件时,您会得到这两个字母,而该工具不知道(或者更可能是未配置为使用)Unicode。

例如,当你用Windows记事本编辑一个文本文件,保存时文件编码为select"Unicode",记事本将使用UTF-16来保存文件并将在开头用所述两个字节标记它。

如果您用来读取文件的任何东西都不知道文件是 Unicode,那么它将使用计算机的默认字节编码来解码该文本文件。

现在,如果默认编码恰好是 Windows-1252,就像您的情况一样,那么您将得到 ÿþ,因为 \xFF 是 ÿ,而 \xFE 是þ.

因此,当出现 ÿþ 时,SQL 服务器认为它一定是存储过程的名称,因为存储过程是唯一可以 运行 通过提及只是他们的名字。并且它尽职尽责地报告它找不到该名称的过程。