Feedback
Did this article resolve your question/issue?

   

Article

"Invalid Object Name" error when calling a Stored procedure

Information

 
Title"Invalid Object Name" error when calling a Stored procedure
URL Nameinvalid-object-name-error-when-calling-a-stored-procedure-with-the-connect-for-odbc-sql-server-driver
Article Number000118290
EnvironmentProduct: Connect for ODBC SQL Server Wire Protocol driver
Version: 07.15.0274 (B0275, U0184)
OS: AIX
Database: SQL Server
Application: All supported applications
Question/Problem Description
When calling a Stored Procedure using the SQL Server syntax, the mentioned error is thrown.
Steps to ReproduceDDL :
CREATE TABLE shareprices (company char(20), price integer);
INSERT INTO shareprices VALUES ('MyComp', 55);

CREATE PROCEDURE TEST @ProgramKey VARCHAR (20) OUTPUT
AS
  SET NOCOUNT ON
  SET @ProgramKey = (SELECT price from shareprices
                    WHERE company = @ProgramKey );
  SELECT @ProgramKey;

Code snippet to reproduce :...
SQLCHAR sql[] = "EXECUTE TEST @ProgramKey = ?";...
rc = SQLPrepare ((SQLHSTMT)hstmt, sql, (SDWORD)strlen((char*)sql));...
rc = SQLDescribeParam(hstmt,
                      i,
                      &dataType,
                      &parameterSize,
                      &decimalDigits,
                      &nullable
                     );
Clarifying Information
Error MessageSQLSTATE = S1000
NATIVE ERROR = 0
MSG = [DataDirect][ODBC SQL Server Wire Protocol driver]Invalid Object Name
Defect NumberDefect 35907
Enhancement Number
Cause
The driver did not support the 'EXECUTE' syntax.
Resolution
Fixed in hot fix 07.16.0283 (B0288, U0194).
Refer to “Connect and Connect64 for ODBC hot fix download and install instructions” for instructions on how to download and install the hot fix.
Workaround
Use the ODBC CALL escape sequence : {? = CALL procname (?,?)}
Notes
References to other documentation:
Microsoft Open Database Connectivity (ODBC) documentation, Procedure Call Escape Sequence
https://docs.microsoft.com/en-us/sql/odbc/reference/appendixes/procedure-call-escape-sequence
Last Modified Date11/19/2018 3:33 PM
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.