Readme_Stored Procedure Using ODBC CALL Syntax (OLE DB)
This sample works only with SQL Server 2005 and SQL Server 2008. It will not work with any version of SQL Server earlier than SQL Server 2005.
This example shows processing a rowset, a return code, and an output parameter. This sample is not supported on IA64.
SQL Server samples and sample databases must be downloaded and installed before you can view or work with them. For more information, see Considerations for Installing SQL Server Samples and Sample Databases.
Scenario
For more information on this sample, see How to: Execute a Stored Procedure (Using ODBC CALL Syntax) and Process Return Codes and Output Parameters (OLE DB) in Books Online.
Languages
This sample uses Transact-SQL and Visual C++.
Prerequisites
Before running this sample, make sure the following software is installed:
- SQL Server or SQL Server Express including Database Engine.
You can download SQL Server Express from the Microsoft Download Center. - The AdventureWorks database that is available at the Microsoft SQL Server Developer Center.
- The SQL Server Database Engine samples that are available at the Microsoft SQL Server Developer Center.
- .NET Framework SDK 2.0 or Microsoft Visual Studio 2005. You can obtain .NET Framework SDK free of charge. See Installing the .NET Framework Documentation.
Building the Sample
This sample connects to your computer's default SQL Server instance (on some Windows operating systems, you will need to change (localhost) or (local) to the name of your SQL Server instance). To connect to a named instance, change the connection string from
L"(local)"
toL"(local)\\name"
, wherename
is the named instance. By default, SQL Server Express installs to a named instance.Make sure your INCLUDE environment variable includes the directory that contains sqlncli.h.
The sample requires you to execute the following stored procedure, which you can find in the sample's scripts directory:
USE AdventureWorks DROP PROCEDURE myProc GO CREATE PROCEDURE myProc @inparam nvarchar(5), @outparam int OUTPUT AS SELECT Color, ListPrice FROM Production.Product WHERE Size > @inparam SELECT @outparam = 100 IF (@outparam > 0) RETURN 999 ELSE RETURN 888 GO
In SQL Server Management Studio, load and execute the Scripts\setup.sql script or execute the following command in a Command Prompt window:
sqlcmd -E -I -i Scripts\setup.sql
If you are using Visual Studio, load the InitializeAndEstablishConnection_A.sln file and build it.
If you are using MSBuild.exe, invoke MSBuild.exe at a command prompt, passing it the InitializeAndEstablishConnection_A.sln file:
MSBuild InitializeAndEstablishConnection_A.sln
Running the Sample
- From Visual Studio, invoke Start Without Debugging (CTRL+F5).
- If you built with MSBuild.exe, invoke InitializeAndEstablishConnection_A.exe.