[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]
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.
The sample shows a simple error handler that calls SQLGetDiagRec for the standard ODBC information. It then tests for a valid connection, and if there is, it calls SQLGetDiagField for the Microsoft® SQL Server™ ODBC driver-specific diagnostic fields. This sample is not supported on IA64.
Scenario
For more information on this sample, see How to: Process ODBC Errors (ODBC) in Books Online.
Languages
This sample uses 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 theMicrosoft Download Center .
-
The AdventureWorks database which is included with SQL Server, and is also available at the
Microsoft SQL Server Developer Center .
-
The SQL Server Database Engine samples. These samples are included with SQL Server. You can download the latest version of the samples 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 SDK.
-
You will also need an ODBC data source called AdventureWorks, whose default database is the AdventureWorks sample database.
Building the Sample
-
This sample connects to your computer's default SQL Server instance. To connect to a named instance, change the definition of the ODBC data source to specify the instance using the following format: server\named_instance. By default, SQL Server Express installs to a named instance.
-
The sample requires you to execute the following stored procedure, which you can find in the sample's scripts directory:
In SQL Server Management Studio, load and execute the Scripts\setup.sql script or execute the following command in a Command Prompt window:use AdventureWorks IF EXISTS (SELECT name FROM sysobjects WHERE name = 'BadOne') DROP PROCEDURE BadOne Go CREATE PROCEDURE BadOne AS SELECT * FROM Purchasing.Vendor Go
sqlcmd -E -I -i Scripts\setup.sql
-
If you are using Visual Studio, load the ProcessODBCErrors.sln file and build it.
-
If you are using MSBuild.exe, invoke MSBuild.exe in a Command Prompt, passing it the ProcessODBCErrors.sln file:
MSBuild ProcessODBCErrors.sln
Running the Sample
-
From Visual Studio, invoke Start Without Debugging (CTRL+F5).
-
If you built with MSBuild.exe, invoke ProcessODBCErrors.exe.