SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值
我们知道SQL SERVER建立链接服务器(Linked Server)可以选择的驱动程序非常多,最近发现使用ODBC 的 Microsoft OLE DB 驱动程序建立的链接服务器(Linked Server), 调用存储过程过程时,参数不能为NULL值。

否则就会报下面错误提示:
对应的英文错误提示为:
EXEC xxx.xxx.dbo.Usp_Test NULL,NULL,'ALL'
Msg 7213, Level 16, State 1, Line 1
The attempt by the provider to pass remote stored procedure parameters to remote server 'xxx' failed. Verify that the number of parameters, the order, and the values passed are correct.
对应的中文错误提示为:
EXEC xxx.xxx.dbo.Usp_Test NULL,NULL,'ALL'
Msg 7213, Level 16, State 1, Line 1
提供程序将远程存储过程参数传递给远程服务器 'xxx' 的尝试失败。请确保参数的数目、顺序和所传递的值正确。
EXEC xxx.xxx.dbo.Usp_Test '','','ALL' 或者给参数赋予一个合适的值则不会报任何错误。另外使用Microsoft OLE DB Provider for SQL Server驱动方式建立的链接服务器(Linked Server)调用存储过程时参数就可以为NULL。
以上所述是小编给大家分享的SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值的全部内容,希望大家喜欢。
相关文章
Sql学习第三天——SQL 关于CTE(公用表达式)的递归查询使用
公用表表达式(CTE)具有一个重要的优点,那就是能够引用其自身,从而创建递归 CTE接下来详细介绍下:CTE 的基本语法结构,在使用CTE时注意事项以及实例操作2013-03-03
SQL server插入报错:当 IDENTITY_INSERT 设置为 OFF 时不能为表 ‘XXX‘
这篇文章主要介绍了SQL server插入报错:当 IDENTITY_INSERT 设置为 OFF 时,不能为表 ‘XXX‘ 中的标识列插入显式值的问题,该问题是给SQL server数据库中的某个表插入数据引起的报错,一般出现在该表为自增的情况下,本文给大家分享解决方法,需要的朋友可以参考下2023-09-09


最新评论