我正在尝试执行查询,在读取SQL脚本文件中的内容后,将其分配给变量然后执行内容。然后我收到此错误Could not find stored procedure 'ÿþ'
。请帮我理解这个问题。谢谢。
的信息:
SQL Server 2014
SSMS版本 - 12.0.4100.1
答案 0 :(得分:9)
ÿþ
是解释UTF-16 byte order mark的两个字节的一种方法,即\ xFF和\ xFE。
当您使用不知道的工具读取以UTF-16编码保存的文件时,您会得到这两个字母,或者更有可能的是,未将其配置为使用Unicode。
例如,当您使用Windows记事本编辑文本文件并选择" Unicode"当你保存文件编码时,记事本将使用UTF-16保存文件,并在开始时用上述两个字节标记它。
如果用于读取文件的任何内容不知道文件是Unicode的事实,那么它将使用计算机的默认字节编码来解码该文本文件。
现在,如果默认编码恰好是Windows-1252,就像你的情况一样,那么ÿþ
就是你得到的,因为\ xFF是ÿ
而\ xFE是{{ 1}}。
因此,当提交þ
时,SQL Server认为它必须是存储过程的名称,因为存储过程是您可以通过仅提及其名称来运行的唯一语句。并且它尽职尽责地报告它无法找到该名称的程序。