Php 请求<;程序>;失败是因为<;程序>;是一个过程对象。SQL错误37000

Php 请求<;程序>;失败是因为<;程序>;是一个过程对象。SQL错误37000,php,sql,sql-server,odbc,procedure,Php,Sql,Sql Server,Odbc,Procedure,我正在尝试将SDK用于123insight MRP系统。在SDK中,有一个特定的例程称为SDK.BOMInsertSDK。每当我试图通过ODBC驱动程序从PHP执行SQL查询时,都会失败并出现错误 Warning: odbc_exec(): SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server] The request for procedure 'BOMInsertSDK' failed because 'BOMInsertSDK'

我正在尝试将SDK用于123insight MRP系统。在SDK中,有一个特定的例程称为
SDK.BOMInsertSDK
。每当我试图通过ODBC驱动程序从PHP执行SQL查询时,都会失败并出现错误

Warning: odbc_exec(): SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]
The request for procedure 'BOMInsertSDK' failed because 'BOMInsertSDK' is a 
procedure object., SQL state 37000 
这个错误让我困惑的地方是:我可以将查询输入到Microsoft SQL Server Management Express,查询将成功执行。还有一些其他例程,如
ProductionSDK。子操作TestResultBooking
工作,但其他类似于
SDK.PartInsertSDK
的操作不工作。对于我能执行什么和不能执行什么,这几乎是随机的。这是什么原因造成的

以下是相关SDK文档的屏幕截图:

这是我的问题,如果有问题的话:

EXECUTE [SDK].[BOMInsertSDK]    @strParentPartNumber = "20-01-702", 
                                @nSequenceNumber = 1234, 
                                @strChildPartNumber = "01-07-001-R", 
                                @decScrapPercentage = 0, 
                                @decQuantity = 1, @blnIsPrime = 1,
                                @strMethodType = "Manufactured", 
                                @strVersionNumber = "0001", 
                                @blnInheritSerial = 0, 
                                @strComments = "no comment"

非常感谢您的建议。

遗憾的是,您没有显示执行该过程的PHP代码,但是您是否使用SQL Profiler查看了服务器上正在执行的实际SQL?在执行查询文本之前,PHP和/或ODBC可能会以某种方式更改查询文本。TSQL中字符串的正确分隔符是单引号,而不是双引号;您可能需要更改此设置,看看是否有任何不同。发送到数据库的数据与表不完全匹配。