Share via


Readme_How to bulk copy data from program variables (ODBC)

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 sample shows how to do a bulk copy from program variables bound with bcp_bind; data sent with bcp_sendrow. 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: Bulk Copy Data from Program Variables (ODBC).

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 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.
  • You will also need an ODBC data source called AdventureWorks, whose default database is the AdventureWorks sample database. This data source must be based on the ODBC driver that is supplied by the operating system (the driver name is "SQL Server"). If you will build and run this sample as a 32-bit application on a 64-bit operating system, you must create the ODBC data source with the ODBC Administrator in %windir%\SysWOW64\odbcad32.exe.

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 Transact-SQL statements before each program invocation; the Transact-SQL statements can be found in the sample's scripts directory:

    use AdventureWorks
    IF EXISTS (SELECT name FROM sysobjects WHERE name = 'BCPSource')
         DROP TABLE BCPSource
    IF EXISTS (SELECT name FROM sysobjects WHERE name = 'BCPTarget')
         DROP TABLE BCPTarget
    GO
    
    CREATE TABLE BCPSource (cola int PRIMARY KEY, colb CHAR(10) NULL)
    INSERT INTO BCPSource (cola, colb) VALUES (1, 'aaa')
    INSERT INTO BCPSource (cola, colb) VALUES (2, 'bbb')
    CREATE TABLE BCPTarget (cola int PRIMARY KEY, colb CHAR(10) NULL)
    

    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 BulkCopyFromVariables.sln file and build it.

  • If you are using MSBuild.exe, invoke MSBuild.exe at a command prompt, passing it the BulkCopyFromVariables.sln file:

    MSBuild BulkCopyFromVariables.sln
    

Running the Sample

  • From Visual Studio, invoke Start Without Debugging (CTRL+F5).
  • If you built with MSBuild.exe, invoke BulkCopyFromVariables.exe.

See Also

Concepts

Data Access Samples

Help and Information

Getting SQL Server 2008 Assistance