Visual Studio data tools para C++Visual Studio data tools for C++

C++ nativo a menudo pueden proporcionar el rendimiento más rápido cuando se tiene acceso a orígenes de datos.Native C++ can often provide the fastest performance when you are accessing data sources. Sin embargo, no están tan enriquecidos como para aplicaciones .NET datos herramientas para aplicaciones de C++ en Visual Studio.However, data tooling for C++ applications in Visual Studio is not as rich as it is for .NET applications. Por ejemplo, no se puede usar las ventanas de orígenes de datos para arrastrar y colocar los orígenes de datos a una superficie de diseño de C++.For example, the data sources windows cannot be used to drag and drop data sources onto a C++ design surface. Si necesita una capa de objeto-relacional, tendrá que escribir el suyo propio, o utilizar un producto de terceros.If you need an object-relational layer, you will have to write your own, or use a third-party product. Lo mismo puede decirse de funcionalidad de enlace de datos, aunque las aplicaciones que usan la biblioteca Microsoft Foundation Class pueden utilizar algunas clases de base de datos, junto con los documentos y vistas, para almacenar datos en memoria y mostrarla al usuario.The same is true for data-binding functionality, although applications that use the Microsoft Foundation Class library can use some database classes, together with documents and views, to store data in memory and display it to the user. Para obtener más información, consulte acceso a datos en Visual C++.For more information, see Data Access in Visual C++.

Para conectarse a bases de datos SQL, aplicaciones nativas de C++ pueden utilizar los controladores ODBC y OLE DB y el proveedor de ADO que se incluyen con Windows.To connect to SQL databases, native C++ applications can use the ODBC and OLE DB drivers and the ADO provider that are included with Windows. Estos pueden conectarse a cualquier base de datos que es compatible con esas interfaces.These can connect to any database that supports those interfaces. El controlador ODBC es el estándar.The ODBC driver is the standard. OLE DB se proporciona por compatibilidad con versiones anteriores.OLE DB is provided for backward compatibility. Para obtener más información sobre estas tecnologías de datos, vea Windows Data Access Components.For more information on those data technologies, see Windows Data Access Components.

Para aprovechar la funcionalidad personalizada de SQL Server 2005 y versiones posteriores, utilice el SQL Server Native Client.To take advantage of custom functionality in SQL Server 2005 and later, use the SQL Server Native Client. El cliente nativo también contiene el controlador ODBC de SQL Server y el proveedor OLE DB de SQL Server en una biblioteca de vínculos dinámicos (DLL).The native client also contains the SQL Server ODBC driver and the SQL Server OLE DB provider in one native dynamic link library (DLL). Son compatibles con las aplicaciones que usan la API de código nativo (ODBC, OLE DB y ADO) a Microsoft SQL Server.These support applications using native-code APIs (ODBC, OLE DB and ADO) to Microsoft SQL Server. SQL Server Native Client se instala con SQL Server Data Tools.SQL Server Native Client installs with SQL Server Data Tools. La Guía de programación está aquí: SQL Server Native Client Programming.The programming guide is here: SQL Server Native Client Programming.

Para conectarse a localDB mediante ODBC y SQL Native Client desde una aplicación de C++To connect to localDB through ODBC and SQL Native Client from a C++ application

  1. Instalar SQL Server Data Tools.Install SQL Server Data Tools.

  2. Si necesita una base de datos SQL de ejemplo para conectarse a, descargue la base de datos Northwind y descomprímalo en una nueva ubicación.If you need a sample SQL database to connect to, download the Northwind database and unzip it to a new location.

  3. Usar SQL Server Management Studio para adjuntar la descomprime Northwind.mdf archivo a localDB.Use SQL Server Management Studio to attach the unzipped Northwind.mdf file to localDB. Cuando se inicia SQL Server Management Studio, conéctese a (localdb) \MSSQLLocalDB.When SQL Server Management Studio starts, connect to (localdb)\MSSQLLocalDB.

    Cuadro de diálogo de conexión de SSMS

    A continuación, haga doble clic en el nodo de localdb en el panel izquierdo y elija adjuntar.Then right-click on the localdb node in the left pane, and choose Attach.

    SSMS adjuntar la base de datos

  4. Descargue el ejemplo de SDK de Windows de ODBC y descomprímalo en una nueva ubicación.Download the ODBC Windows SDK Sample, and unzip it to a new location. Este ejemplo muestra los comandos básicos de ODBC que se usan para conectarse a una base de datos y emitir consultas y comandos.This sample shows the basic ODBC commands that are used to connect to a database and issue queries and commands. Puede aprender más acerca de esas funciones en el Microsoft Open Database Connectivity (ODBC).You can learn more about those functions in the Microsoft Open Database Connectivity (ODBC). Cuando se carga primero la solución (está en la carpeta de C++), Visual Studio le sugerirá actualizar la solución a la versión actual de Visual Studio.When you first load the solution (it's in the C++ folder), Visual Studio will offer to upgrade the solution to the current version of Visual Studio. Haga clic en .Click Yes.

  5. Para usar el cliente nativo, necesitará su encabezado archivo y lib archivo.To use the native client, you need its header file and lib file. Estos archivos contienen las funciones y las definiciones específicas de SQL Server, más allá de las funciones ODBC definidas en sql.h.These files contain functions and definitions specific to SQL Server, beyond the ODBC functions defined in sql.h. En proyecto > propiedades > directorios de VC ++, agregue el siguiente directorio de inclusión:In Project > Properties > VC++ Directories, add the following include directory:

%ProgramFiles%\Microsoft SQL Server\110\SDK\Include%ProgramFiles%\Microsoft SQL Server\110\SDK\Include

Y este directorio de biblioteca:And this library directory:

%ProgramFiles%\Microsoft SQL Server\110\SDK\Lib%ProgramFiles%\Microsoft SQL Server\110\SDK\Lib

  1. Agregue estas líneas en odbcsql.cpp.Add these lines in odbcsql.cpp. El #define impide que las definiciones de OLE DB irrelevantes desde que se está compilando.The #define prevents irrelevant OLE DB definitions from being compiled.

    #define _SQLNCLI_ODBC_
    #include <sqlncli.h>
    

    Tenga en cuenta que el ejemplo no utiliza realmente ninguna funcionalidad de cliente nativo, por lo que no son necesarios para compilar y ejecutar los pasos anteriores.Note that the sample does not actually use any of the native client functionality, so the preceding steps are not necessary for it to compile and run. Pero el proyecto ahora está configurado para que usar esta funcionalidad.But the project is now configured for you to use this functionality. Para obtener más información, consulte programación de SQL Server Native Client.For more information, see SQL Server Native Client programming.

  2. Especifique qué controlador usar en el subsistema ODBC.Specify which driver to use in the ODBC subsystem. El ejemplo pasa el atributo de cadena de conexión de controlador en como un argumento de línea de comandos.The sample passes the DRIVER connection string attribute in as a command line argument. En proyecto > propiedades > depuración, agregue este argumento de comando:In Project > Properties > Debugging, add this command argument:

    DRIVER="SQL Server Native Client 11.0"
    
  3. Presione F5 para compilar y ejecutar la aplicación.Press F5 to build and run the application. Debería ver un cuadro de diálogo desde el controlador que se le pide que escriba una base de datos.You should see a dialog box from the driver that prompts you to enter a database. Escriba (localdb)\MSSQLLocalDBy compruebe utilizar conexión de confianza.Enter (localdb)\MSSQLLocalDB, and check Use Trusted Connection. Presione Aceptar.Press OK. Debería ver una consola con los mensajes que indican una conexión correcta.You should see a console with messages that indicate a successful connection. También verá un símbolo del sistema donde puede escribir una instrucción SQL.You should also see a command prompt where you can type in a SQL statement. La siguiente pantalla muestra un ejemplo de consulta y los resultados:The following screen shows an example query and the results:

    Salida de consulta de ejemplo ODBC

Vea tambiénSee also