ADO.NET

download ADO.NET

If you can't read please download the document

Transcript of ADO.NET

ADO.NETADO.NET es un conjunto de clases que exponen servicios de acceso a datos al programador. NET. ADO.NET proporciona un conjunto completo de componentes para crear distribuidos, aplicaciones de intercambio de datos. Es una parte integral del marco. NET, proporcionando acceso a relacionales, XML y datos de aplicacin. ADO.NET es compatible con una variedad de necesidades de desarrollo, incluida la creacin de clientes de base de datos front-end y de nivel medio los objetos de empresa utilizados por las aplicaciones, herramientas, lenguajes o exploradores de Internet.

En esta seccin

Qu hay de nuevo en ADO.NET Presenta caractersticas que son nuevas en ADO.NET. Informacin general de ADO.NET Proporciona una introduccin al diseo y los componentes de ADO.NET. Proteger aplicaciones de ADO.NET Describe las recomendaciones de codificacin segura para utilizar ADO.NET. Utilizar DataSets en ADO.NET Describe la forma de crear y utilizar conjuntos de datos con tipo, DataSets , DataTables y DataViews . Conectar con datos y recuperarlos en ADO.NET Describe cmo conectarse a un origen de datos y recuperar datos, incluyendo DataReaders y DataAdapters . Modificar datos en ADO.NET Describe cmo modificar los datos de una base de datos y cmo utilizar las transacciones. Utilizando el. NET Framework para SQL Server Describe cmo trabajar con las caractersticas y funciones que son especficas de SQL Server. Utilizando el. NET Framework para Oracle Describe las caractersticas y comportamientos que son especficos para el. NET Framework para Oracle. Usar SQL Server integracin Common Language Runtime Describe cmo los datos se puede acceder desde dentro de un Common Language Runtime (CLR) de base de datos en SQL Server 2005. Escritura de cdigo independiente del proveedor en ADO.NET Describe clases genricas que permiten escribir cdigo independiente del proveedor en ADO.NET. Realizacin de tareas generales en ADO.NET Describe cmo utilizar varias caractersticas generales de ADO.NET. Buscar informacin adicional sobre ADO.NET Proporciona vnculos a informacin adicional en lnea acerca de ADO.NET.

Secciones relacionadas

Generar aplicaciones ASP.NET Proporciona informacin general instructiva y detallada, paso a paso los procedimientos para crear aplicaciones Web ASP.NET en el Marco. NET. Aplicaciones basadas en Windows Proporciona informacin detallada sobre cmo trabajar con formularios Windows Forms y aplicaciones de consola. Tecnologas de desarrollo bsicas Proporciona vnculos a informacin sobre tareas de desarrollo estndar en el Marco. NET. Desarrollo Avanzado de Tecnologas Proporciona vnculos a informacin sobre tareas de desarrollo sofisticadas y tcnicas en el marco. NET. Ejemplos y tutoriales Proporciona una lista completa de todas las muestras y ejemplos de QuickStart asociados con el Marco. NET.

Qu hay de nuevo en ADO.NET. NET Framework 2.0Otras versiones 71 de 90 puntuado este til - Valorar este tema Las siguientes caractersticas son nuevas en ADO.NET versin 2.0.

Proveedores administradosServidor Enumeracin Proporciona soporte para enumerar instancias activas de Microsoft SQL Server 2000 y versiones posteriores. Para obtener ms informacin, vea Enumerar instancias de SQL Server . Procesamiento asncrono Le permite realizar operaciones asincrnicas de base de datos utilizando una API modelada despus del modelo asincrnico que utiliza el Marco. NET. Para obtener ms informacin, vea Realizar operaciones asincrnicas . Varios conjuntos de resultados activos (MARS) Admite una aplicacin que tiene ms de un SqlDataReader abierto en una conexin cuando cada instancia de SqlDataReader se inicia a partir de un comando separado. Para obtener ms informacin, consulte Uso de varios conjuntos de resultados activos . Operaciones de copia masiva Le permite realizar inserciones masivas utilizando rpido del Proveedor. NET para SQL Server. Para obtener ms informacin, vea Realizar operaciones de copia masiva . Nuevos SQL Server Max Tipos de datos Proporciona soporte para varchar (max) , nvarchar (max) , varbinary (max) los tipos de datos en SQL Server 2005. Para obtener ms informacin, veaTrabajar con tipos de valor grande SQL Server definidos por el usuario Proporciona soporte para los tipos definidos por el usuario de datos (UDT) en SQL Server 2005. Para obtener ms informacin, consulte Creacin y uso de tipos definidos por el usuario . SQL Server Notificaciones Permite a las aplicaciones. NET Framework para enviar un comando a SQL Server y solicitar que se genere una notificacin si la ejecucin del mismo comando producir conjuntos de resultados diferentes de los inicialmente recuperados. Para obtener ms informacin, vea Usar notificaciones de consulta . Las transacciones con aislamiento de instantnea del servidor SQL Proporciona soporte para el aislamiento de instantneas, SQL Server 2005 mecanismo diseado para reducir el bloqueo en aplicaciones OLTP. Para obtener ms informacin, consulte Uso de aislamiento de instantnea . Database Mirroring en SQL Server 2005 Proporciona compatibilidad con la replicacin de bases de datos en SQL Server 2005 con una nueva sintaxis de cadena de conexin para especificar un servidor asociado de conmutacin por error. Para obtener ms informacin, consulte Uso de Database Mirroring . Estadsticas de Proveedores Proporciona soporte para la recuperacin de las estadsticas de tiempo de ejecucin en SQL Server 2005. En la actualidad 21 diferentes contadores estn disponibles en el proveedor. NET para SQL Server. Para obtener ms informacin, vea Utilizar las estadsticas de Proveedores . Cambiar la contrasea de SQL Server 2005

Permite a las aplicaciones. NET Framework para cambiar la contrasea de una cuenta de usuario sin necesidad de intervencin del administrador. Para obtener ms informacin, consulte ChangePassword . Procesamiento por lotes Mejora el rendimiento de las aplicaciones mediante la reduccin del nmero de viajes de ida y vuelta a la base de datos cuando realice actualizaciones delconjunto de datos . Para obtener ms informacin, vea Realizar operaciones por lotes mediante DataAdapters . Seguimiento ADO.NET 2.0 presenta la nueva funcionalidad integrada de datos de seguimiento que se apoya en los proveedores de datos. NET. Para obtener ms informacin, consulte Gestionado seguimiento en el Marco. NET . Confianza parcial Todos los proveedores de datos de Microsoft son ahora soportados en entornos de confianza parcial. Para obtener ms informacin, vea Seguridad de acceso a cdigo y ADO.NET . Agrupacin de conexiones de control ADO.NET 2.0 presenta dos nuevos mtodos para desactivar la agrupacin de conexiones: ClearAllPools y ClearPool . Para obtener ms informacin, consulteUso de la agrupacin de conexiones con SQL Server . SQL Server Compatibilidad con tipos de datos XML SQL Server 2005 tiene un nuevo tipo de datos XML, y System.Data.SqlClient proporciona soporte robusto para ello en el cliente. Los valores XML se exponen mediante la System.Xml marco para una integracin perfecta con el modelo de programacin. NET. Integracin con System.Transactions y Optimizacin de Operaciones promocionable para SQL Server 2005 . NET 2.0 incluye un nuevo marco de transacciones, accesible a travs de la System.Transactions espacio de nombres. Cuando se combinanSystem.Transactions para la gestin de transacciones distribuidas, System.Data.SqlClient para el acceso de base de datos y SQL Server 2005 como la parte de atrs, es posible optimizar las transacciones distribuidas de modo que el coste adicional de hacerlas "distribuido" slo se incurre cuando las transacciones son realmente necesarios.

Clases desconectadosMejoras de DataSet El nuevo DataTableReader presenta el contenido de un DataSet o una DataTable en forma de uno o ms de slo lectura, los conjuntos de resultados de slo avance. Para obtener ms informacin, consulte Creacin y uso de un objeto DataTableReader . Mejoras de DataSet Un motor nuevo ndice mejora el rendimiento de insertar, eliminar y modificar las operaciones a DataTable y DataRow objetos. Un ndice o una clave principal debe estar definido en la tabla base. Serializacin binaria para el conjunto de datos Esta nueva opcin permite a un DataSet y un DataTable para ser guardado en formato binario cuando se usa transportes binarios a travs de comunicacin remota. En la mayora de los casos esto dar como resultado grandes mejoras de rendimiento y una reduccin notable en la memoria y uso de CPU al usarDataSet / DataTable objetos en las aplicaciones que utilizan la comunicacin remota para conectarse a diferentes niveles. DataTable como un objeto independiente Muchos mtodos que slo estaban disponibles en el conjunto de datos de las versiones anteriores estn disponibles en la DataTable tambin (comoReadXml y WriteXml ). Adems, un objeto DataTable se puede serializar por s mismo, por lo que ya no es necesario contar con un conjunto de datos con una sola tabla slo para exponer la mesa a travs de servicios web o cualquier otro mecanismo que requiere la serializacin. Crear un DataTable desde DataView Ahora puede crear un DataTable desde una DataView . La nueva DataTable tendr el mismo conjunto de filas que la actual DataView . Opcionalmente, las columnas de la nueva DataTable puede ser un subconjunto de los DataView columnas. Las filas pueden ser o bien todas las filas o slo filas distintas. Para obtener ms informacin, consulte ToTable . Mejoras del motor de inferencia de esquemas

El motor de inferencia de esquema se ha mejorado para inferir los tipos cuando existe suficiente informacin disponible, sino que tambin es significativamente ms rpido. Calificado como espacio de tablas Un conjunto de datos puede soportar ahora las tablas que tienen el mismo TableName pero con un diferente espacio de nombres , proporcionando un mecanismo para evitar conflictos de nombres. Nuevas capacidades de carga de DataTable La nueva carga de mtodo para tablas de datos y conjuntos de datos puede transmitir un DataReader en un DataTable directamente. La carga mtodo tambin tiene nuevas opciones para el comportamiento de la carga que amplan la funcionalidad disponible a travs de los DataAdapter . Fila de control del Estado Los nuevos SetAdded y SetModified mtodos permiten a las aplicaciones manipular explcitamente el estado de fila de DataSet y DataTable filas. Soporte mejorado para tipos definidos por el La DataTable proporciona ms apoyo a la medida, los tipos definidos por el usuario. Serializacin XML se ha ampliado para dar soporte polimorfismo. Por ejemplo, una columna Persona puede almacenar una instancia Employee que se serializa y de-serializar ay desde XML sin prdida de ningn tipo fidelidad.Adems los usuarios pueden ahora implementar las interfaces nuevo cambio de seguimiento que permitan a la DataTable para seguir los cambios de tales objetos. XML / XSD Mejoras Aadido soporte para lectura y escritura en los tipos simples XSD. Aadido soporte para lectura y escritura de esquemas mltiples en una secuencia. Aadido soporte para lectura y escritura de XSD / XML donde se anida una sola tabla o elemento XML dentro de dos o ms tablas primarias. DataRow Mejoras El nuevo IndexOf se puede utilizar para encontrar la posicin de la fila en DataTable.Rows coleccin. Cambiar la posicin de la columna en DataTable El nuevo SetOrdinal mtodo permite a los usuarios cambiar la posicin de la columna en un DataTable . DataView Mejoras en el rendimiento El DataView de ADO.NET 2.0 utiliza un algoritmo nueva actualizacin que resulta en una mejora significativa en DataView mantenimiento. Expresiones DataColumn Una expresin en un DataColumn puede incluir columnas de la misma DataTable . La expresin puede ser actualizado, y el valor de la columna se mantiene. Esquema de serializacin para DataSet con tipo Con tipo DataSet puede omitir el componente de esquema de ser serializado estableciendo la SchemaSerializationMode enumeracin paraExcludeSchema .

Independiente del proveedor API. NET Data Provider Enumeracin Proporciona soporte para enumerar proveedores de datos instalados. Para obtener ms informacin, vea Enumerar los proveedores de datos instalados . Proveedor Independiente de Programas Mejoras en el System.Data.Common espacio de nombres proporciona acceso a travs de una API simple para bases de datos a travs de mltiples proveedores. Para obtener ms informacin, consulte Escritura de cdigo independiente del proveedor en ADO.NET . Esquema Descubrimiento Esquema de descubrimiento permite a las aplicaciones para solicitar los proveedores administrados para encontrar y devolver informacin acerca del esquema de base de datos de la base de datos est conectado a una conexin determinada. Diferentes elementos del esquema de base de datos como tablas, columnas y procedimientos almacenados-estn expuestos a travs de los GetSchema mtodos de cada proveedor de conexin de clase. Para obtener ms informacin, consulte Obtencin de informacin de esquema de una base de datos .

Informacin general de ADO.NET. NET Framework 2.0Otras versiones 11 de los 27 ha calificado este til - Valorar este tema ADO.NET proporciona acceso coherente a orgenes de datos como Microsoft SQL Server y XML, as como a las fuentes de datos expuestos mediante OLE DB y ODBC. El intercambio de datos aplicaciones de consumo puede utilizar ADO.NET para conectarse a estas fuentes de datos y recuperar, manipular y actualizar los datos que contienen. ADO.NET separa de acceso a datos de manipulacin de datos en componentes discretos que se pueden utilizar por separado o en tndem. ADO.NET incluye. NET Framework para conectarse a una base de datos, ejecutar comandos y recuperar resultados. Esos resultados se procesan directamente, colocado en un ADO.NETDataSet objeto con el fin de ser expuesto al usuario de una manera ad hoc, en combinacin con datos de mltiples fuentes, o controlarse a distancia entre niveles.La ADO.NET DataSet objeto tambin puede ser utilizado independientemente de a. NET Framework proveedor de datos para gestionar los datos locales de la aplicacin o de origen de XML. Las clases de ADO.NET se encuentran en System.Data.dll, y estn integradas con las clases XML en System.Xml.dll. Al compilar cdigo que utiliza el System.Dataespacio de nombres, referencia tanto System.Data.dll y System.Xml.dll. Para un ejemplo de una aplicacin de ADO.NET que se conecta a una base de datos, recupera los datos de la misma, a continuacin, muestra los datos en un smbolo del sistema, consulte Aplicacin de ejemplo ADO.NET . ADO.NET proporciona funcionalidad para los desarrolladores que escriben cdigo administrado similar a la funcionalidad que proporciona el modelo de objeto componente nativo (COM) a los desarrolladores de ActiveX Data Objects (ADO). Para una discusin de las diferencias entre ADO y ADO.NET, vea ADO.NET para el programador de ADO en MSDN. Le recomendamos que no utilice ADO.NET, ADO para acceder a los datos en el archivo. NET.

En esta seccinObjetivos de diseo para ADO.NET Trata sobre la motivacin y los objetivos de diseo detrs de la creacin de ADO.NET. ADO.NET Arquitectura Proporciona una visin general de la arquitectura y los componentes de ADO.NET. . NET Framework Proveedores de datos Proporciona informacin general sobre el diseo de la. NET Framework y de los proveedores de datos. NET Framework que se incluyen con ADO.NET. ADO.NET DataSet Proporciona una visin general del conjunto de datos y diseo de componentes. Side-by-Side de ejecucin y ADO.NET Trata las diferencias en las versiones de ADO.NET y su efecto en la ejecucin de lado a lado y compatibilidad de aplicaciones. Aplicacin de ejemplo de ADO.NET Proporciona un ejemplo de una aplicacin de ADO.NET que recupera los datos de una base de datos y lo devuelve a la consola.

Objetivos de diseo para ADO.NET. NET Framework 2.0Otras versiones 10 de los 18 ha calificado este til - Valorar este tema Como el desarrollo de aplicaciones ha evolucionado, las nuevas aplicaciones se han convertido imprecisa, a menudo basadas en el modelo de aplicacin Web. Cada vez ms de las aplicaciones actuales utilizan XML para codificar los datos que han pasado a travs de conexiones de red. Las aplicaciones Web utilizan HTTP como la tela para la comunicacin entre niveles y deben controlar expresamente el mantenimiento del estado de las solicitudes. Este nuevo modelo es muy diferente del estilo conectada, estrechamente unida de programacin que caracteriz la era de cliente / servidor, donde se celebr una conexin abierta a la duracin de la vida del programa, y no controlar el estado era necesario. En el diseo de las herramientas y tecnologas para satisfacer las necesidades de los desarrolladores de hoy, Microsoft se dio cuenta de que un modelo de programacin completamente nuevo para el acceso a los datos que se necesitaba, y lo construy en el Marco. NET. Sobre la base del marco. NET asegur que la tecnologa de acceso de datos sera uniforme, ya que los componentes que comparten un sistema de tipos, patrones de diseo, y las convenciones de nomenclatura. ADO.NET se dise para satisfacer las necesidades de este nuevo modelo de programacin: desconectado arquitectura de datos, integracin con XML, la representacin de datos comn con la capacidad de combinar datos de mltiples fuentes de datos y variado, e instalaciones optimizadas para interactuar con una base de datos, todos los nativo del Marco. NET. En la creacin de ADO.NET, Microsoft adopt los objetivos de diseo siguientes: El apalancamiento actual ActiveX Data Objects (ADO) conocimiento. Apoyar el modelo de programacin n-tier. Integrar el apoyo XML.

Aprovechar los conocimientos actuales de ADO

El diseo de ADO.NET satisface muchos de los requisitos del modelo actual de desarrollo de aplicaciones. Al mismo tiempo, el modelo de programacin se mantiene lo ms similar posible a ADO, ADO para desarrolladores actuales no tienen que empezar desde el principio. ADO.NET es una parte intrnseca del Marco. NET sin embargo, conserva la familiaridad para el programador de ADO. ADO.NET tambin coexiste con ADO. Aunque la mayora de las aplicaciones nuevas. NET basada sern escritos usando ADO.NET, ADO sigue estando disponible para el programador. NET a travs de. NET servicios de interoperabilidad COM. Para una discusin de las diferencias entre ADO y ADO.NET, vea ADO.NET para el programador de ADO .

Apoyar el modelo de programacin NTierLa idea de trabajar con un conjunto inconexo de datos se ha convertido en un punto focal en el modelo de programacin. ADO.NET proporciona soporte de primera clase para el desconectado, entorno de programacin n-tier para muchas aplicaciones nuevas que estn escritas. La solucin de ADO.NET para n-tier programacin es el conjunto de datos . Para obtener ms informacin acerca de conjuntos de datos , vea Utilizar DataSets en ADO.NET .

Integrar la compatibilidad con XMLXML y acceso a datos estn estrechamente vinculados. XML es sobre la codificacin de datos y acceso a datos es cada vez ms acerca de XML. . NET Framework no slo admite los estndares Web, sino que est construido en su totalidad en la parte superior de ellos. La compatibilidad con XML est integrado en ADO.NET a un nivel muy fundamental. . Las clases XML en el NET Framework y ADO.NET son parte de la misma arquitectura, estn integradas en muchos niveles diferentes. Por lo tanto, ya no tienen que elegir entre el acceso de datos de conjunto de servicios y sus homlogos XML, la capacidad de cruzar de uno a otro es inherente en el diseo de ambos. Para obtener ms informacin acerca del uso de XML con ADO.NET, vea Utilizar XML en un DataSet .

ADO.NET Arquitectura. NET Framework 2.0Otras versiones

47 de los 66 ha calificado este til - Valorar este tema El procesamiento de datos se ha basado tradicionalmente principalmente en una conexin basada en modelo de dos niveles. Como el procesamiento de datos utiliza cada vez ms arquitecturas de varios niveles, los programadores se estn cambiando a un enfoque desconectado para proporcionar una mejor escalabilidad para sus aplicaciones.

Componentes ADO.NETHay dos componentes de ADO.NET que se pueden utilizar para acceder y manipular los datos: . NET Framework proveedores de datos El conjunto de datos

. NET Framework Proveedores de datos

Los datos del NET. Framework son componentes que han sido expresamente diseados para la manipulacin de datos y rpida, de slo avance y de slo lectura el acceso a los datos. La conexin de objeto proporciona conectividad a un origen de datos. El Comando objeto permite el acceso a los comandos de base de datos para devolver datos, modificar datos, ejecutar procedimientos almacenados y enviar o recuperar informacin de parmetros. El DataReader proporciona una corriente de alto rendimiento de los datos de la fuente de datos. Por ltimo, el DataAdapter proporciona el puente entre el DataSet objeto y la fuente de

datos. LosDataAdapter utiliza comandos objetos para ejecutar comandos SQL en el origen de datos tanto de la carga del DataSet con datos, y conciliar los cambios realizados en los datos en el DataSet en el origen de datos.

El DataSetEl conjunto de datos ADO.NET est expresamente diseado para el acceso a datos independiente de cualquier fuente de datos. Como resultado, se puede usar con fuentes de datos mltiples y diferentes, que se utiliza con datos XML, o se utiliza para gestionar los datos locales de la aplicacin. El conjunto de datos contiene una coleccin de uno o ms DataTable objetos compuestos por filas y columnas de datos, as como la clave primaria, clave externa, restriccin e informacin sobre relacin los datos de la DataTable objetos. El siguiente diagrama muestra la relacin entre un. NET Framework y un conjunto de datos . ADO.NET arquitectura

Elegir un DataReader o un DataSetAl decidir si su aplicacin debe utilizar un DataReader (vea Recuperar datos mediante DataReader ) o un conjunto de datos (ver Utilizar DataSets en ADO.NET ), usted debe considerar el tipo de funcionalidad que requiere su aplicacin. Utilice un conjunto de datos para hacer lo siguiente: Datos de la cach de forma local en la aplicacin de forma que se puede manipular. Si slo necesita leer los resultados de una consulta, el DataReader es la mejor opcin. Datos remota entre niveles o desde un servicio Web XML. Interactuar con datos dinmicamente, como la unin a un control de Windows Forms o combinar y relacionar datos provenientes de mltiples fuentes. Lleve a cabo un proceso intenso de datos sin necesidad de una conexin abierta con la fuente de datos, lo que libera la conexin para ser utilizado por otros clientes. Si no necesita la funcionalidad proporcionada por el conjunto de datos , se puede mejorar el rendimiento de la aplicacin mediante el DataReader para devolver los datos en un slo avance y de slo lectura de la moda. Aunque el DataAdapter utiliza el DataReader para rellenar el contenido de un DataSet (vea Llenar un DataSet desde un DataAdapter ), utilizando el DataReader puede aumentar el rendimiento, ya que se ahorrar memoria que podra ser consumida por el conjunto de datos , as como evitar el procesamiento necesario para crear y llenar el contenido del DataSet .

XML y ADO.NETADO.NET aprovecha la potencia de XML para proporcionar acceso desconectado a datos. ADO.NET se dise mano a mano con las clases XML en el NET Framework,. Ambos son componentes de una nica arquitectura.

ADO.NET y las clases XML en el Marco. NET convergen en el conjunto de datos de objetos. El conjunto de datos se pueden completar con datos de un origen XML, si se trata de un archivo o una secuencia XML. El conjunto de datos se puede escribir como Consorcio World Wide Web (W3C) compatible con XML, incluyendo su esquema como esquema XML de definicin de lenguaje (XSD), independientemente de la fuente de los datos en el DataSet . Debido al formato de serializacin nativa del DataSet es XML, es un medio excelente para mover datos entre niveles, haciendo que el conjunto de datos en una opcin ptima para la comunicacin remota de datos y el contexto de esquema hacia y desde un servicio Web XML.

ADO.NET Plataforma RequisitosMicrosoft. NET Framework SDK (incluyendo ADO.NET) es compatible con Microsoft Windows XP, Windows 2000, Windows NT 4 con Service Pack 6a, Windows Millennium Edition, Windows 98 y Windows CE.

Nota

El. NET Framework para OLE DB y. NET Framework para ODBC requiere MDAC 2.6 o posterior, y MDAC 2.8 Service Pack 1 (SP1) se recomienda. Puede descargar MDAC 2.8 SP1 desde el acceso a datos y almacenamiento Developer Center .En el ejemplo de cdigo siguiente se muestra cmo incluir el System.Data espacio de nombres en sus aplicaciones, con el fin de utilizar ADO.NET: C# VB

Imports System.DataLas clases de ADO.NET se encuentran en System.Data.dll, y estn integradas con las clases XML en System.Xml.dll. Al compilar cdigo que utiliza el System.Dataespacio de nombres, referencia tanto System.Data.dll y System.Xml.dll. Para un ejemplo de una aplicacin de ADO.NET, vase Aplicacin de muestra ADO.NET .

Remoting o Calcular referencias de datos entre niveles y ClientesEl diseo del DataSet le permite transportar fcilmente los datos a los clientes a travs de Internet utilizando los servicios Web XML, as como lo que le permite reunir datos entre. NET utilizando. NET servicios remotos. Tambin puede remota un establecimiento inflexible de tipos DataSet de esta manera. Para una visin general de los servicios Web XML, vea XML Web Introduccin a los servicios . Para un ejemplo de consumir un DataSet desde un servicio Web XML, vea Consumir DataSet a partir de un servicio Web XML . Para una visin general de los servicios de comunicacin remota, consulte . general NET Framework Remoting . Tenga en cuenta que en ADO.NET 2.0, DataTableobjetos tambin se puede utilizar con ambos servicios de comunicacin remota y servicios Web XML.

. NET Framework Proveedores de datos. NET Framework 2.0

Otras versiones

15 de los 28 ha resultado til nominal - Tasa este temaA. NET Framework se utiliza para conectarse a una base de datos, ejecutar comandos y recuperar resultados. Esos resultados se procesan directamente, colocado en un ADO.NET DataSet con el fin de ser expuesto al usuario de una manera ad hoc, en combinacin con datos de mltiples fuentes, o controlarse a distancia entre niveles. . NET Framework proveedores son ligeros, creando una capa mnima entre la fuente de datos y su cdigo, lo que aumenta el rendimiento sin sacrificar la funcionalidad. En la tabla siguiente se muestran los proveedores. NET Framework que se incluyen en el Marco. NET.

. NET Framework proveedor . NET Framework Data Provider para SQL Server . NET Framework Data Provider para OLE DB . NET Framework para ODBC . NET Framework para Oracle

Descripcin

Proporciona acceso a datos de Microsoft SQL Server versin 7.0 o posterior. Utiliza el System.Data.SqlClient espacio de nombres. Para orgenes de datos expuestos mediante OLE DB. Utiliza el System.Data.OleDb espacio de nombres. Para las fuentes de datos expuestos mediante ODBC. Utiliza el System.Data.Odbc espacio de nombres. Para fuentes de datos Oracle. El. NET Framework para Oracle admite Oracle versin 8.1.7 del software cliente y despus, y utiliza el System.Data.OracleClient espacio de nombres.

Nota El. NET Framework para ODBC y. NET Framework para Oracle no se incluyeron en el. NET Framework versin 1.0. Si necesita el. NET Framework para ODBC o. NET Framework para Oracle, y se est utilizando. NET Framework 1.0, puede descargar estos proveedores de datos desde el acceso a datos y almacenamiento Developer Center . El espacio de nombres para el archivo. NET Framework para ODBC es Microsoft.Data.Odbc . El espacio de nombres para el archivo. NET Framework para Oracle es System.Data.OracleClient .

Los objetos centrales de datos. NET FrameworkEn la tabla siguiente se describen los objetos del ncleo cuatro que componen una. NET Framework.

Objeto Conexin Comando

Descripcin Establece una conexin con una fuente de datos especfica. La clase base para todos los Conexin objetos es el DbConnection clase. Ejecuta un comando en un origen de datos. Expone los parmetros y puede ejecutar dentro del mbito de una transaccin de una conexin .La clase base para todos los comandos de objetos es el DbCommand clase. Lee un slo avance y de slo lectura flujo de datos de un origen de datos. La clase base para todos los DataReader objetos es el DbDataReaderclase. Llena un DataSet y resuelve actualizaciones con el origen de datos. La clase base para todos los DataAdapter objetos es el DbDataAdapterclase.

DataReader DataAdapter

Adems de las clases principales enumerados en la tabla anterior, a. Proveedor de datos tambin contiene las clases enumeradas en la tabla siguiente.

Objeto Transaccin CommandBuilder

Descripcin Permite dar de alta los comandos de las transacciones en el origen de datos. La clase base para todas las transacciones objetos es elDbTransaction clase. Un objeto auxiliar que genera automticamente las propiedades de comando de un DataAdapter o obtendrn informacin de los parmetros de un procedimiento almacenado y poblar el Parmetros de una coleccin de comandos de objetos. La clase base para todos los CommandBuilder objetos es el DbCommandBuilder clase. Un objeto auxiliar que proporciona una forma sencilla de crear y administrar el contenido de las cadenas de conexin utilizadas por las Connection objetos. La clase base para todos los ConnectionStringBuilder objetos es el objeto

ConnectionStringBuilde r

DbConnectionStringBuilderclase. Parmetro Define la entrada, salida y retorno de los parmetros de valor para los comandos y procedimientos almacenados. La clase base para todos los parmetros de los objetos es la DbParameter clase. Se devuelve cuando se produce un error en la fuente de datos. Por un error detectado en el cliente, datos. NET Framework proveedores de lanzar una excepcin Marco. NET. La clase base para todas las excepciones objetos es el DbException clase. Expone la informacin de una advertencia o un error devuelto por el origen de datos. Previsto. NET Framework atributos de cdigo de datos del proveedor de seguridad de acceso. La clase base para todos losClientPermission objetos es el DBDataPermission clase.

Excepcin

Error ClientPermission

El. NET Framework para SQL ServerEl. NET Framework para SQL Server utiliza su propio protocolo para comunicarse con SQL Server. Es ligero y funciona bien, ya que est optimizado para el acceso a SQL Server directamente, sin aadir un OLE DB u Open Database Connectivity (ODBC) capa. La siguiente ilustracin compara el. NET Framework para SQL Server con el. NET Framework para OLE DB. El. NET Framework para OLE DB se comunica con un origen de datos OLE DB a travs tanto del componente OLE DB de servicio, que ofrece la agrupacin de conexiones y servicios de transaccin, y el proveedor OLE DB para el origen de datos.

Nota . NET Framework para ODBC tiene una arquitectura similar a la NET Framework para OLE DB,. Por ejemplo, se llama a un componente de servicio ODBC.Comparacin del. NET Framework para SQL Server y. NET Framework para OLE DB

Para utilizar el. NET Framework para SQL Server, debe tener acceso a SQL Server 7.0 o posterior. El. NET Framework para SQL Server clases se encuentran en elSystem.Data.SqlClient espacio de nombres. En versiones anteriores de SQL Server, utilice el. NET Framework para OLE DB con SQL Server Proveedor OLE DB (SQLOLEDB). El. NET Framework para SQL Server admite tanto transacciones locales y distribuidas. Para las transacciones distribuidas, el. NET Framework para SQL Server, de forma predeterminada, se inscribe automticamente en una transaccin y obtiene detalles de la transaccin de servicios de componentes de Windows oSystem.Transactions . Para obtener ms informacin, vea Realizar transacciones .

En el ejemplo de cdigo siguiente se muestra cmo incluir el System.Data.SqlClient espacio de nombres en sus aplicaciones. C# VB

Imports System.Data.SqlClient

El. NET Framework para OLE DBEl. NET Framework para OLE DB utiliza OLE DB nativo a travs de la interoperabilidad COM para permitir el acceso de datos. El. NET Framework para OLE DB admite transacciones locales y distribuidas. Para las transacciones distribuidas, el. NET Framework para OLE DB, por defecto, se inscribe automticamente en una transaccin y obtiene detalles de la transaccin de Servicios de componentes de Windows 2000. Para obtener ms informacin, vea Realizar transacciones . La siguiente tabla muestra los proveedores que han sido probados con ADO.NET.

Conductor SQLOLEDB MSDAORA Microsoft.Jet.OLEDB.4.0 Nota

Proveedor Microsoft OLE DB para SQL Server Microsoft OLE DB Provider para Oracle Proveedor OLE DB para Microsoft Jet

El uso de un Access (Jet) base de datos como fuente de datos para las aplicaciones de subprocesos mltiples, como las aplicaciones ASP.NET, no se recomienda.Si tiene que usar Access como origen de datos para una aplicacin ASP.NET, y no puede utilizar una alternativa, como SQL Server o MSDE, tenga en cuenta que las aplicaciones ASP.NET para conectarse a una base de datos Access puede encontrar problemas de conexin ms comunes relacionados con permisos de seguridad. Para problemas de ayuda para solucionar problemas de conexin con ASP.NET y una base de datos Access, consulte el artculo Q316675, "PRB: No se puede conectar a base de datos Access desde ASP.NET" en el Microsoft Knowledge Base .El. NET Framework para OLE DB no admite la versin 2.5 de OLE DB interfaces. Los proveedores OLE DB que requieren soporte para interfaces de OLE DB 2.5 no funcionar correctamente con el. NET Framework para OLE DB. Esto incluye el Microsoft OLE DB Provider for Exchange y el proveedor Microsoft OLE DB para Internet Publishing. El. NET Framework para OLE DB no funciona con el proveedor OLE DB para ODBC (MSDASQL). Para obtener acceso a un origen de datos ODBC mediante ADO.NET, utilice el. NET Framework para ODBC. . NET Framework Data Provider para las clases de OLE DB se encuentran en el System.Data.OleDb espacio de nombres. En el ejemplo de cdigo siguiente se muestra cmo incluir el System.Data.OleDb espacio de nombres en sus aplicaciones. C# VB

Imports System.Data.OleDb

Nota

El. NET Framework para OLE DB requiere MDAC 2.6 o posterior, y MDAC 2.8 Service Pack 1 (SP1) se recomienda. Puede descargar MDAC 2.8 SP1 desde el acceso a datos y almacenamiento Developer Center .

El. NET Framework para ODBCEl. NET Framework para ODBC utiliza el Administrador de controladores ODBC nativo (DM) para permitir el acceso a datos. El proveedor de datos ODBC admite tanto transacciones locales y distribuidas. Para las transacciones distribuidas, el proveedor de datos ODBC, por defecto, se inscribe automticamente en una transaccin y obtiene detalles de la transaccin de Servicios de componentes de Windows 2000. Para obtener ms informacin, vea Realizar transacciones . En la tabla siguiente se muestran los controladores ODBC probados con ADO.NET.

Conductor SQL Server Microsoft ODBC para Oracle Microsoft Access Driver (*. Mdb). NET Framework Data Provider para ODBC clases se encuentran en el System.Data.Odbc espacio de nombres. En el ejemplo de cdigo siguiente se muestra cmo incluir el System.Data.Odbc espacio de nombres en sus aplicaciones. C# VB

Imports System.Data.Odbc

Nota El. NET Framework para ODBC requiere MDAC 2.6 o posterior, y MDAC 2.8 SP1 es la recomendada. Puede descargar MDAC 2.8 SP1 desde el acceso a datos y almacenamiento Developer Center .

El. NET Framework para OracleEl. NET Framework para Oracle permite el acceso a datos a travs de fuentes de datos Oracle software Oracle conectividad de cliente. El proveedor de datos admite la versin del software cliente de Oracle 8.1.7 o posterior. El proveedor de datos admite tanto transacciones locales y distribuidas. Para obtener ms informacin, veaRealizar transacciones . El. NET Framework para Oracle requiere software cliente de Oracle (8.1.7 o posterior) en el sistema antes de poder conectarse a una fuente de datos Oracle. . NET Framework Data Provider para Oracle clases se encuentran en el System.Data.OracleClient espacio de nombres y se encuentran en elSystem.Data.OracleClient.dll asamblea. Debe hacer referencia tanto a la System.Data.dll y el System.Data.OracleClient.dll al compilar una aplicacin que utiliza el proveedor de datos.

En el ejemplo de cdigo siguiente se muestra cmo incluir el System.Data.OracleClient espacio de nombres en sus aplicaciones. C# VB

Imports System.Data Imports System.Data.OracleClient

La eleccin de un proveedor de Marco. NET DataDependiendo de la fuente de datos para el diseo y su aplicacin, su eleccin de. NET Framework puede mejorar el rendimiento, la capacidad y la integridad de su solicitud. En la tabla siguiente se describen las ventajas y limitaciones de cada proveedor de Marco. NET de datos.

Proveedor . NET Framework Data Provider para SQL Server

Notas Recomendado para aplicaciones de nivel medio que utilizan Microsoft SQL Server 7.0 o posterior. Recomendado para aplicaciones de un nico nivel que utilizan Microsoft Database Engine (MSDE) o SQL Server 7.0 o posterior. Recomendaciones sobre el uso del proveedor OLE DB para SQL Server (SQLOLEDB) con el. NET Framework para OLE DB. Para SQL Server 6.5 y versiones anteriores, debe utilizar el proveedor OLE DB para SQL Server con el. NET Framework para OLE DB. Recomendado para aplicaciones de nivel medio que utilizan SQL Server 6.5 o versiones anteriores. Para SQL Server 7.0 o posterior, el. NET Framework para SQL Server es recomendable. Tambin se recomienda para aplicaciones de un nico nivel que utilizan bases de datos Microsoft Access. El uso de una base de datos para una aplicacin de nivel medio no se recomienda. Recomendado para aplicaciones de media y nico nivel que utilizan fuentes de datos ODBC. Recomendado para aplicaciones de media y nico nivel que utilizan fuentes de datos Oracle.

. NET Framework Data Provider para OLE DB

. NET Framework para ODBC . NET Framework para Oracle

ADO.NET DataSet. NET Framework 2.0

Otras versiones

19 de los 38 ha calificado este til - Valorar este tema El DataSet objeto es esencial para admitir escenarios desconectados, distribuidas de datos con ADO.NET. El DataSet es una representacin residente en memoria de datos que proporciona un modelo de programacin relacional coherente independientemente del origen de datos. Se puede usar con fuentes de datos mltiples y diferentes, con datos XML, o para administrar datos locales de la aplicacin. El DataSet representa un conjunto completo de datos, incluyendo tablas relacionadas, restricciones y relaciones entre las tablas. La siguiente ilustracin muestra el DataSet modelo de objetos. DataSet modelo de objetos

Los mtodos y objetos en un conjunto de datos son coherentes con los del modelo de base de datos relacional. El DataSet tambin puede persistir y volver a cargar su contenido como XML y su esquema de definicin de esquemas XML como lenguaje (XSD). Para obtener ms informacin, vea Utilizar XML en un DataSet .

El DataTableCollectionUn ADO.NET DataSet contiene una coleccin de cero o ms tablas representadas por DataTable objetos. El DataTableCollection contiene todos los DataTableobjetos en un conjunto de datos . Un DataTable se define en el System.Data espacio de nombres y representa una sola tabla de datos residentes en memoria. Contiene una coleccin de columnas representadas por una DataColumnCollection , y restricciones representadas por un ConstraintCollection , que conjuntamente definen el esquema de la tabla. UnDataTable tambin contiene una coleccin de filas representadas por la DataRowCollection , que contiene los datos de la tabla. Junto con su estado actual, unaDataRow conserva sus dos versiones actual y original para identificar los cambios en los valores almacenados en la fila.

El DataRelationCollectionUn DataSet contiene relaciones en su DataRelationCollection objeto. Una relacin, representada por la DataRelation objeto, las filas asociadas en una DataTable con las filas de otro DataTable . Una relacin es anloga a una ruta de combinacin que puede existir entre las columnas de clave principal y clave externa en una base de datos relacional. Un DataRelation identifica columnas coincidentes de dos tablas de un DataSet . Relaciones permitir la navegacin de una mesa a otra dentro de un DataSet . Los elementos esenciales de un DataRelation son el nombre de la relacin, el nombre de las tablas que se relacionan, y las columnas relacionadas

de cada tabla. Las relaciones pueden ser construidas con ms de una columna por tabla especificando una matriz de DataColumn objetos como las columnas de clave. Cuando se agrega una relacin con el DataRelationCollection , si lo desea, puede aadir unUniqueKeyConstraint y una ForeignKeyConstraint para hacer cumplir las restricciones de integridad cuando se realizan cambios en los valores de columnas relacionadas.

ExtendedPropertiesEl DataSet , DataTable y DataColumn tienen un ExtendedProperties propiedad. ExtendedProperties es un PropertyCollection donde se puede colocar informacin personalizada, como la instruccin SELECT que se utiliza para generar el conjunto de resultados, o el momento en que se generaron los datos. ElExtendedProperties coleccin se conserva la informacin de esquema para el conjunto de datos .

Side-by-Side de ejecucin y ADO.NET. NET Framework 2.0Otras versiones 4 de 5 puntuado este til - Valorar este tema Side-by-side de ejecucin en el marco. NET es la capacidad de ejecutar una aplicacin en un equipo con varias versiones del Marco. NET instalado, utilizando exclusivamente la versin de que la solicitud fue compilado. Para obtener informacin detallada sobre la configuracin side-by-side ejecucin, consulte Side-by-Side de ejecucin . Una aplicacin compilada con una versin del Marco. NET se puede ejecutar en una versin diferente del Marco. NET. Sin embargo, se recomienda que se compila una versin de la aplicacin para cada versin instalada del Marco. NET, y ejecutarlos por separado. En cualquiera de los casos, usted debe ser consciente de los cambios en ADO.NET entre versiones que pueden afectar a la compatibilidad hacia adelante o hacia atrs compatibilidad de la aplicacin.

Compatibilidad hacia adelante y compatibilidad con versiones anterioresAdelante compatibilidad significa que una aplicacin puede ser compilado con una versin anterior del Marco. NET, pero seguir funcionando con xito en una versin posterior del marco. NET. Cdigo ADO.NET escrito para la versin de Marco. NET 1.1 es compatible con versiones futuras de comunicacin. NET 2.0 Framework versin. La compatibilidad hacia atrs significa que una aplicacin se compila una versin ms reciente del Marco. NET, pero sigue funcionando con las versiones anteriores del Marco. NET, sin ninguna prdida de funcionalidad. Por supuesto, este no ser el caso para las caractersticas introducidas en una nueva versin del marco. NET.Para obtener informacin sobre las nuevas caractersticas aadidas a ADO.NET en la versin 2.0 del Framework the.NET, vea Novedades en ADO.NET . Aunque los componentes de ADO.NET en el Marco. NET est diseado para ser compatible hacia atrs y hacia adelante (sin incluir nuevas caractersticas), debe ser consciente de los problemas que afectan la compatibilidad hacia adelante o hacia atrs de una aplicacin. Las siguientes secciones describen lado-a-lado problemas de ejecucin que pueden afectar a la compatibilidad hacia atrs o hacia delante de su cdigo ADO.NET incluyendo: El. NET Framework para ODBC El. NET Framework para Oracle Seguridad de acceso a cdigo

El. NET Framework para ODBCDesde la versin 1.1, el. NET Framework para ODBC ( System.Data.Odbc ) se incluye como parte del Marco. NET. El proveedor de datos ODBC est disponible para. NET Framework versin 1.0 los desarrolladores como una descarga Web desde el acceso a datos y almacenamiento Developer Center . El espacio de nombres para el archivo. NET Framework para ODBC es Microsoft.Data.Odbc . Si usted tiene una aplicacin desarrollada para la versin de Marco. NET 1.0 que utiliza el proveedor de datos ODBC para conectarse a su origen de datos y desea ejecutar dicha aplicacin en la versin de Marco. NET 1.1 o posterior, deber actualizar el espacio de nombres para el proveedor de datos ODBC aSystem.Data.Odbc . A continuacin, debe volver a compilar para la versin ms reciente del Marco. NET. Si usted tiene una aplicacin desarrollada para el. NET Framework versin 2.0 que utiliza el proveedor de datos ODBC para conectarse a su origen de datos y desea ejecutar dicha aplicacin en la versin de Marco. NET 1.0, debe descargar el proveedor de datos ODBC e instalar que en el. NET Framework 1.0. A continuacin, debe cambiar el espacio de nombres del proveedor de datos ODBC para Microsoft.Data.Odbc , y volver a compilar la aplicacin para el. NET Framework versin 1.0.

El conjunto de datos SqlCommand ejecucin Microsoft Data Access Components (MDAC)

El. NET Framework para OracleDesde la versin 1.1, el. NET Framework para Oracle ( System.Data.OracleClient ) se incluye como parte del Marco. NET. El proveedor de datos est a disposicin de. NET Framework versin 1.0 los desarrolladores como una descarga Web desde el acceso a datos y almacenamiento Developer Center . Si usted tiene una aplicacin desarrollada para el. NET Framework versin 2.0 que utiliza el proveedor de datos para conectarse al origen de datos, y desea ejecutar dicha aplicacin en el. NET Framework versin 1.0, debe descargar el proveedor de datos e instalarlo en el. NET Framework 1.0 sistema.

Seguridad de acceso a cdigoLos datos de. NET Framework proveedores en el. NET Framework versin 1.0 ( System.Data.SqlClient , System.Data.OleDb ) son necesarios para ejecutar con permisos FullTrust. Cualquier intento de utilizar los datos. NET Framework versin del Framework. NET 1.0 en una zona con menos del permiso FullTrust causa unaSecurityException . Sin embargo, con el lanzamiento de the.NET Framework versin 2.0, todos los datos. NET Framework se puede utilizar en zonas de confianza parcial. Adems, una nueva caracterstica de seguridad fue agregado a los datos. NET Framework en la versin de Marco. NET 1.1. Esta caracterstica le permite restringir qu cadenas de conexin se puede utilizar en una zona de seguridad determinada. Tambin puede desactivar el uso de contraseas en blanco para una zona de seguridad determinada. Para obtener ms informacin, vea Seguridad de acceso a cdigo y ADO.NET . Debido a que cada instalacin del Marco. NET tiene un archivo Security.config separado, no hay problemas de compatibilidad con la configuracin de seguridad.Sin embargo, si su aplicacin depende de las capacidades de seguridad adicionales de ADO.NET incluye en la versin Framework. NET 1.1 y versiones posteriores, no ser capaz de distribuir una versin 1.0 del sistema.

SqlCommand EjecucinA partir de la versin de Marco. NET 1.1, la forma en que ExecuteReader ejecuta los comandos en el origen de datos ha cambiado. En la versin de Marco. NET 1.0, ExecuteReader ejecuta todos los comandos en el contexto de la sp_executesql procedimiento almacenado. Como resultado, los comandos que afectan al estado de la conexin (por ejemplo, SET NOCOUNT ON), slo se aplican a la ejecucin del comando actual. El estado de la conexin no se modifica para los comandos posteriores ejecutadas mientras la conexin est abierta. En la versin de Marco. NET 1.1 y versiones posteriores, ExecuteReader slo se ejecuta un comando en el contexto de la sp_executesql procedimiento almacenado si el comando contiene parmetros, lo que proporciona una ventaja de rendimiento. Como resultado, si un comando que afecta el estado de la conexin se incluye en un comando no

parametrizada, que modifica el estado de la conexin para todos los comandos posteriores ejecutadas mientras la conexin est abierta. Considere el siguiente lote de comandos ejecutados en una llamada a ExecuteReader .

SET NOCOUNT ON; SELECT * FROM dbo.Customers;En la versin de Marco. NET 1.1 y versiones posteriores, NOCOUNT permanecer en ON para todos los comandos posteriores ejecutadas mientras la conexin est abierta. En la versin de Marco. NET 1.0, NOCOUNT slo lo hace durante la ejecucin del comando actual. Este cambio puede afectar tanto a la compatibilidad hacia adelante y hacia atrs de su aplicacin si depende del comportamiento de ExecuteReader para cualquiera de las versiones del Marco. NET. Para las aplicaciones que se ejecutan en las versiones anteriores y posteriores del Marco. NET, usted puede escribir su cdigo para asegurarse de que el comportamiento es el mismo, independientemente de la versin que est ejecutando. Si desea asegurarse de que un comando modifica el estado de la conexin para todos los comandos posteriores, se recomienda ejecutar el comando usando ExecuteNonQuery . Si desea asegurarse de que un comando no modifica la relacin de todos los comandos posteriores, se recomienda incluir los comandos para restablecer el estado de la conexin en el comando. Por ejemplo:

SET NOCOUNT ON; SELECT * FROM dbo.Customers; SET NOCOUNT OFF;

Microsoft Data Access Components (MDAC)Los datos de. NET Framework para proveedores OLE DB y ODBC requiere MDAC 2.6 o posterior en todas las versiones del marco. NET y MDAC 2.8 SP1 es la recomendada. Aunque este requisito no introduce problemas de ejecucin lado-alado, es importante sealar que MDAC no es compatible actualmente con lado-a-lado ejecucin. Por lo tanto, es importante verificar que la aplicacin va a seguir funcionando correctamente con la nueva versin antes de actualizar los componentes de MDAC para su instalacin. Para obtener ms informacin acerca de MDAC, consulte el acceso a datos y almacenamiento Developer Center .

Aplicacin de ejemplo de ADO.NET. NET Framework 2.0Otras versiones 39 de los 57 ha calificado este til - Valorar este tema La siguiente es una sencilla aplicacin de ADO.NET que devuelve resultados de una fuente de datos y escribe el resultado en la consola o lnea de comandos.

Los ejemplos de este tema muestran cmo conectarse y recuperar datos mediante. NET Framework para SQL Server ( System.Data.SqlClient ), el. NET Framework para OLE DB ( System.Data.OleDb ), el archivo. NET Framework para ODBC ( System.Data.Odbc ), y el. NET Framework para Oracle ( System.Data.OracleClient ).Todos los proveedores de datos se puede utilizar en una nica aplicacin, si se desea. El SqlClient ejemplo siguiente se supone que se puede conectar a la Northwind base de datos de ejemplo en Microsoft SQL Server 7.0 o posterior, y devuelve una lista de registros de la Categoras tabla mediante un SqlDataReader . El proveedor de datos y Odbc ejemplos asumen una conexin con el Microsoft AccessNorthwind base de datos muestra. El OracleClient ejemplo supone una conexin con DEMO.CUSTOMER en un servidor Oracle. Tambin debe agregar una referencia a la System.Data.OracleClient.dll. Para obtener ms informacin sobre el DataReader , vea Recuperar datos mediante DataReader ).

SqlClientC# VB

Opcin Explcita En Opcin estricta en Imports System Imports System.Data Imports System.Data.SqlClient Public Class Programa Pblico Compartido Sub Main () Dim connectionString Como cadena = GetConnectionString () Dim queryString Como cadena = _ "SELECT CategoryID, CategoryName DE dbo.Categories"; Con conexin Como Nuevo SqlConnection (connectionString) Dim comando como SqlCommand = connection.CreateCommand () command.CommandText = queryString Tratar de Connection.Open () Dim dataReader Como SqlDataReader = _ Command.ExecuteReader () Es bien dataReader.Read () Console.WriteLine (vbTab y "{0}" y vbTab y "{1}" , _ dataReader (0), dataReader (1)) Bucle dataReader.Close () Catch ex como excepcin Console.WriteLine (ex.Message) Fin Trate End Uso End Sub Privado Compartido Funcin GetConnectionString () Como Cuerda 'Para evitar almacenar la cadena de conexin en el cdigo, "se puede recuperar de un archivo de configuracin. Return "Data Source = (local); Initial Catalog = Northwind," _ Y "Integrated Security = SSPI;" End Funcin End Class

OleDb

C# VB

Opcin Explcita En Opcin estricta en Imports System Imports System.Data Imports System.Data.OleDb Public Class Programa Pblico Compartido Sub Main () Dim connectionString Como cadena = GetConnectionString () Dim queryString Como cadena = _ "SELECT CategoryID, CategoryName FROM Categoras"; Con conexin Como Nuevo OleDbConnection (connectionString) Dim comando Como OleDbCommand = connection.CreateCommand () command.CommandText = queryString Tratar de Connection.Open () Dim dataReader Como OleDbDataReader = _ Command.ExecuteReader () Es bien dataReader.Read () Console.WriteLine (vbTab y "{0}" y vbTab y "{1}" , _ dataReader (0), dataReader (1)) Bucle dataReader.Close () Catch ex como excepcin Console.WriteLine (ex.Message) Fin Trate End Uso End Sub Privado Compartido Funcin GetConnectionString () Como Cuerda 'Para evitar almacenar la cadena de conexin en el cdigo, "se puede recuperar de un archivo de configuracin. " Asume Neptuno.mdb se encuentra en c:. \ Data Return "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" _ Y "c: \ Data \ Neptuno.mdb; User Id = admin, Password =;" End Funcin End Class

OdbcC# VB

Opcin Explcita En Opcin estricta en Importaciones sistema Importaciones System.Data Imports System.Data.Odbc Public Class Programa Pblico Compartido Sub Main ()

Dim connectionString Como cadena = GetConnectionString () Dim queryString Como cadena = _ "SELECT CategoryID, CategoryName FROM Categoras"; Con conexin Como Nuevo OdbcConnection (connectionString) Dim comando Como OdbcCommand = connection.CreateCommand () command.CommandText = queryString Tratar de Connection.Open () Dim dataReader Como OdbcDataReader = _ Command.ExecuteReader () Es bien dataReader.Read () Console.WriteLine (vbTab y "{0}" y vbTab y "{1}" , _ dataReader (0), dataReader (1)) Bucle dataReader.Close () Catch ex como excepcin Console.WriteLine (ex.Message) Fin Trate End Uso End Sub Privado Compartido Funcin GetConnectionString () Como Cuerda 'Para evitar almacenar la cadena de conexin en el cdigo, "se puede recuperar de un archivo de configuracin. " Asume Neptuno.mdb se encuentra en c:. \ Data Return "Driver = {Microsoft Access Driver (*. mdb)};" _ Y "DBQ = c: \ Data \ Neptuno.mdb; Uid = admin, contrasea:"; End Funcin End Class

OracleClientC# VB

Opcin Explcita En Opcin estricta en Imports System Imports System.Data Imports System.Data.OracleClient Public Class Programa Pblico Compartido Sub Main () Dim connectionString Como cadena = GetConnectionString () Dim queryString Como cadena = _ "SELECT customer_id, NOMBRE DE DEMO.CUSTOMER" Con conexin Como Nuevo OracleConnection (connectionString) Dim comando Como OracleCommand connection.CreateCommand = () command.CommandText = queryString Tratar de Connection.Open () Dim dataReader Como OracleDataReader = _ Command.ExecuteReader () Es bien dataReader.Read ()

Console.WriteLine (vbTab y "{0}" y vbTab y "{1}" , _ dataReader (0), dataReader (1)) Bucle dataReader.Close () Catch ex como excepcin Console.WriteLine (ex.Message) Fin Trate End Uso End Sub Privado Compartido Funcin GetConnectionString () Como Cuerda 'Para evitar almacenar la cadena de conexin en el cdigo, "se puede recuperar de un archivo de configuracin. Return "Data Source = ThisOracleServer; Integrated Security = yes;" End Funcin End Class

Proteger aplicaciones de ADO.NET. NET Framework 2.0Otras versiones 2 de 5 puntuado este til - Valorar este tema Escribir un seguro de aplicaciones ADO.NET implica ms que evitar errores comunes de codificacin, como no validar la entrada del usuario. Una aplicacin que tiene acceso a datos tiene muchos puntos potenciales de falla que un atacante puede aprovechar para recuperar, manipular o destruir datos confidenciales. Por tanto, es importante entender todos los aspectos de la seguridad, desde el proceso de modelado de amenazas durante la fase de diseo de la aplicacin, para su eventual despliegue y mantenimiento continuo. El Framework. NET proporciona herramientas para proteger las aplicaciones y la administracin de polticas de seguridad. Enlaces a documentacin sobre estas herramientas se pueden encontrar en la Seguridad Herramientas tema. El Common Language Runtime (CLR) proporciona un entorno de tipo seguro para la ejecucin de cdigo en, con cdigo de acceso de seguridad (CAS) para restringir an ms los permisos de cdigo administrado. Adems de los recursos mencionados en esta seccin, el Microsoft Security Developer Center tiene hasta al da la informacin de seguridad, informes y descargas.

ADO.NET Prcticas recomendadas de seguridad

. NET Framework 2.0Otras versiones

5 de 8 puntuado este til - Valorar este tema El Framework. NET proporciona muchas clases tiles y servicios que permiten a los desarrolladores a mejorar la seguridad de sus aplicaciones. Despus de acceder a datos protegidos prcticas de codificacin limita el dao que puede ser causado por un atacante potencial. Sin embargo, escribir cdigo seguro no protegerse contra los agujeros de seguridad auto-infligidas cuando se trabaja con recursos no administrados, tales como bases de datos. La mayora de las bases de datos del servidor, como SQL Server, tienen sus propios sistemas de seguridad, que mejoran la seguridad cuando se implementa correctamente. Sin embargo, incluso un origen de datos con un robusto sistema de seguridad puede ser vctima de un ataque si no est configurado correctamente.

Seguridad como un procesoAsegurar una aplicacin es un proceso continuo. Nunca habr un punto en el que un desarrollador puede garantizar que una aplicacin est a salvo de todos los ataques, debido a que es imposible predecir qu tipos de ataques en el futuro nuevas tecnologas va a llevar a cabo. Por el contrario, slo porque nadie ha descubierto an (o publicada) errores de seguridad en un sistema, no quiere decir que no existen o podran existir. Es necesario planificar la seguridad durante la fase de diseo del proyecto, as como el plan de cmo la seguridad se mantendr durante la vida til de la aplicacin. En esta seccin se tratan los siguientes temas: Diseo para la Seguridad Prctica de modelado de amenazas Administrar y mantener la seguridad Ejecutar con privilegios mnimos Usar la seguridad integrada con SQL Server Utilizacin de los comandos con parmetros Controlar excepciones y errores de registro El uso de criptografa para proteger los datos Usar cdigos hash para la integridad de los datos

Diseo para la Seguridad

Uno de los mayores problemas en el desarrollo de aplicaciones seguras es que la seguridad es a menudo una idea de ltimo momento, algo que despus de implementar un proyecto de cdigo completo. No construir la seguridad en una aplicacin desde el principio conduce a aplicaciones inseguras porque el pensamiento poco se ha dado a lo que hace una aplicacin segura. Cuando se implementa la seguridad en el ltimo momento, sino que tambin conduce a ms errores, como saltos de software bajo las nuevas restricciones o tiene que ser reescritos para acomodar la funcionalidad inesperado. Cada lnea de cdigo revisado incluye la posibilidad de introducir un nuevo fallo. Por esta razn, usted debe considerar la seguridad al principio del proceso de desarrollo para que se pueda proceder a la par con el desarrollo de nuevas caractersticas. La mejor prctica para la creacin de aplicaciones seguras es empezar sin permisos a todos y luego aadir los ms estrechos permisos para la tarea concreta que se realiza. A partir de todos los permisos y despus negar los individuales, por el contrario, conduce a aplicaciones inseguras que son difciles de probar y mantener, porque los agujeros de seguridad puede existir de forma involuntaria la concesin de permisos ms de las requeridas.

Tema

Descripcin

Recursos para crear aplicaciones seguras

Proporciona enlaces a recursos para la creacin de aplicaciones seguras.

Proteger aplicaciones Seguridad Bibliografa

Proporciona enlaces a recursos para la creacin de aplicaciones seguras. Proporciona vnculos a recursos externos disponibles en lnea y en forma impresa.

Prctica de modelado de amenazasEl proceso de evaluacin de las amenazas de seguridad, llamado modelado de amenazas , es necesario determinar la probabilidad y las consecuencias de las violaciones de seguridad en la aplicacin de ADO.NET. No se puede proteger un sistema contra ataques a menos que entienda todos los posibles ataques que est expuesto. El modelado de amenazas es un enfoque iterativo para evaluar las vulnerabilidades de la aplicacin para encontrar aquellas que son las ms peligrosas porque exponen los datos ms sensibles. Una vez que identifique las vulnerabilidades, las clasifiquen por orden de gravedad y crear un conjunto priorizado de contramedidas para contrarrestar las amenazas.

Tema

Descripcin

General sobre las amenazas de seguridad de aplicaciones Web Modelado de amenazas , Microsoft Security Developer Center

Describe modelado de amenazas y las mejores prcticas para las aplicaciones ASP.NET. Proporciona vnculos a recursos adicionales e informacin sobre modelado de amenazas.

Administrar y mantener la seguridadAcceso a la administracin inadecuada de cdigo de seguridad (CAS) potencialmente puede crear debilidades de seguridad. Una vez que se implementa una aplicacin, las tcnicas de seguimiento de la seguridad se debe utilizar y los riesgos evaluados como surgen nuevas amenazas. Asegrese de que usted se suscribe a los boletines de seguridad y alertas, y que todos los Service Packs y parches estn actualizados.

Tema

Descripcin

Poltica de Gestin de la Seguridad El mantenimiento de la seguridad Prcticas recomendadas de seguridad Poltica Microsoft Windows Update Service TechNet Security Resource Center

Proporciona informacin sobre cmo crear y administrar la poltica de seguridad. Proporciona enlaces externos a otros documentos y recursos para mantener la seguridad. Proporciona enlaces que describen cmo administrar la poltica de seguridad. Describe el servicio Windows Update, una herramienta indispensable para estar al da con la seguridad. Proporciona herramientas de seguridad, informacin de respuesta de seguridad, tales como boletines de seguridad y alertas de virus, as como una gua prescriptiva para la seguridad de las aplicaciones.

Ejecutar con privilegios mnimosAl disear, construir y desplegar la aplicacin, se debe asumir que su solicitud ser atacado. A menudo, estos ataques provienen de cdigo malicioso que se ejecuta con los permisos del usuario que ejecuta el cdigo. Otros pueden originarse en buenas intenciones cdigo que ha sido explotada por un atacante. Al planificar la seguridad, siempre ha

de asumir el peor de los casos va a producir. Una contramedida se puede emplear es tratar de levantar tantas paredes alrededor de su cdigo como sea posible, ejecute con privilegios mnimos. El principio de privilegios mnimos dice que cualquier privilegio concedido debe concederse a la menor cantidad de cdigo necesario, por el menor periodo de tiempo que se requiere para hacer el trabajo. Para minimizar la cantidad de dao que puede ocurrir si un ataque tiene xito, elija un contexto de seguridad para el cdigo que permite el acceso slo a los recursos que necesita para conseguir su trabajo hecho, y nada ms.

Tema

Descripcin

Cdigo de Acceso de Seguridad y ADO.NET Directrices para escribir cdigo seguro El desafo de privilegio mnimo

Describe las interacciones entre el cdigo de seguridad de acceso, seguridad basada en roles y los entornos de confianza parcial. Describe las mejores prcticas en el contexto de Visual Studio Team System. Los conceptos son aplicables a todas las aplicaciones. MSDN contenido discutiendo cmo escribir aplicaciones utilizando una cuenta de privilegios mnimos pueden ayudar a descubrir los agujeros de seguridad que un atacante podra explotar. MSDN contenido discutiendo la forma de desarrollar software, mientras que inicie sesin en Windows con privilegios no administrativos. Describe cmo cambiar el contexto de ejecucin de hacerse pasar por otro usuario de forma explcita en una base de datos de SQL Server 2005.

El desarrollo de software en Visual Studio. NET con privilegios administrativos no "Context Switching" en los Libros en pantalla de SQL Server

Usar la seguridad integrada con SQL ServerCuando se conecta a Microsoft SQL Server, puede utilizar la autenticacin de Windows, tambin conocida como seguridad integrada, que utiliza la identidad del usuario actual de Windows activo en lugar de pasar un ID de usuario y contrasea. Uso de la autenticacin de Windows es muy recomendable ya que las credenciales de usuario no se exponen en la cadena de conexin. Si no puede utilizar la autenticacin de Windows para conectarse a SQL Server, considere la creacin de cadenas de conexin en tiempo de ejecucin mediante el SqlConnectionStringBuilder . Para obtener ms informacin, vea Crear cadenas de conexin .

Utilizacin de los comandos con parmetrosEl uso de comandos parametrizados ayuda a proteger contra los ataques de inyeccin de SQL, en el que un atacante "inyecta" un comando en una sentencia de SQL que pone en peligro la seguridad en el servidor. Parametrizada comandos guardia contra un ataque de inyeccin SQL, asegurando que los valores recibidos de una fuente externa se pasan como valores nicos, y que no forman parte de la instruccin Transact-SQL. Como resultado, los comandos Transact-SQL insertados en un valor no se ejecutan en la fuente de datos. Ms bien, se evalan nicamente como un valor de parmetro. Adems de las prestaciones de la seguridad, comandos con parmetros proporcionan un mtodo conveniente para la organizacin de los valores pasados con una instruccin de Transact-SQL o un procedimiento almacenado.

Tema

Descripcin

Utilizar parmetros con DataAdapter Uso de procedimientos almacenados para actualizar datos

Describe cmo utilizar parmetros con DataAdapter . Describe cmo especificar parmetros y obtener un valor devuelto.

Utilizar parmetros con controles de origen de datos Asignacin de datos de proveedores de tipos de datos a los datos. NET Framework Tipos Los parmetros en los comandos de adaptadores de datos Cmo: Establecer y obtener parmetros para objetos de comandosNota

Describe cmo utilizar los parmetros con controles de origen de datos ASP.NET. Describe cmo asignar. NET de datos especficas del proveedor para tipos de datos. Describe cmo utilizar la seleccin y parmetros de actualizacin y cmo trabajar con objetos de parmetros y colecciones para los proveedores. NET Framework de datos. Describe cmo trabajar con objetos de comando con parmetros mediante instrucciones SQL o procedimientos almacenados.

Si va a crear una aplicacin ASP.NET, tambin tendr que evitar los ataques mediante scripts. Para obtener ms informacin, consulte general sobre los ataques de secuencias de comandos .

Controlar excepciones y errores de registroLos atacantes a menudo usan informacin de una excepcin, tal como el nombre de su servidor, base de datos o tabla para montar un ataque a su sistema. Debido a que las excepciones pueden contener informacin especfica sobre su aplicacin o fuente de datos, puede ayudar a mantener su aplicacin y la fuente de datos ms protegidos por slo exponer la informacin esencial para el cliente.

Tema

Descripcin

Fundamentos de control de excepciones Mejores prcticas para la Gestin de excepciones Cmo: Mostrar mensajes de error seguros

Describe el manejo de excepciones para las aplicaciones. NET Framework. Describe las mejores prcticas para el manejo de excepciones. Describe mostrar mensajes de error seguros en el contexto de seguridad del sitio Web.

El uso de criptografa para proteger los datosLas clases de. NET Framework System.Security.Cryptography espacio de nombres se pueden utilizar desde las aplicaciones ADO.NET para evitar que los datos puedan ser ledos o modificados por terceros no autorizados. Algunas clases son contenedores para el administrado CryptoAPI de Microsoft, mientras que otros son administrados implementaciones.

Tema

Descripcin

Servicios de cifrado

Proporciona una visin general de la criptografa en el Marco. NET, se describe cmo se implementa criptografa, y cmo realizar tareas especficas criptogrficas.

Cifrar la informacin de configuracin mediante una configuracin protegida Proteger cadenas de conexin

Describe cmo utilizar la configuracin protegida para cifrar los archivos de configuracin. Describe cmo cifrar cadenas de conexin almacenadas en los archivos de configuracin mediante una configuracin protegida.

Usar cdigos hash para la integridad de los datosA diferencia de la criptografa, que permite que los datos a ser cifrados y descifrados, hash de datos es un proceso de un solo sentido. Hashing de datos es til cuando se desea evitar la manipulacin mediante la comprobacin de que los datos no han sido alterados: cadenas de entrada dadas idnticas, algoritmos hash siempre producen idnticos valores de salida cortos que pueden ser fcilmente comparados.

Tema

Descripcin

Asegurar la integridad de los datos mediante cdigos hash

Describe cmo se puede generar y verificar los valores hash.

Creacin de interfaces de usuario seguras. NET Framework 2.0Otras versiones Este tema an no ha sido calificado - Valorar este tema Las aplicaciones suelen consistir en muchas partes que deben ser protegidos de las vulnerabilidades que podran resultar en la prdida de datos o de otra manera comprometer el sistema. Creacin de interfaces de usuario seguras pueden prevenir muchos problemas mediante el bloqueo de los atacantes antes de que puedan acceder a datos o recursos del sistema.

Proteger las aplicaciones de WindowsEn el pasado, las aplicaciones de Windows en general corri con todos los permisos. El Framework. NET proporciona la infraestructura para restringir la ejecucin de cdigo en una aplicacin de Windows utilizando el cdigo de acceso de seguridad (CAS). Sin embargo, CAS por s sola no es suficiente para proteger su aplicacin. Seguridad de Windows Forms Explica cmo proteger las aplicaciones Windows Forms y proporciona vnculos a temas relacionados. Archivo sea ms seguro y de acceso a datos en formularios Windows Forms Explica cmo acceder a los archivos y datos desde una aplicacin de Windows Forms en un entorno de confianza parcial. Formularios Windows Forms y aplicaciones no administradas Describe la forma de interactuar con las aplicaciones no administradas en una aplicacin de Windows Forms. Implementacin de ClickOnce para aplicaciones de Windows Forms ,

Describe cmo utilizar ClickOnce despliegue de una aplicacin de Windows Forms y se discuten las implicaciones de seguridad.

Proteger aplicaciones ASP.NETLas aplicaciones ASP.NET generalmente necesario restringir el acceso a ciertas partes del sitio Web y proporcionar otros mecanismos para la proteccin de datos y seguridad del sitio. Estos enlaces proporcionan informacin til para asegurar la aplicacin ASP.NET. ASP.NET Seguridad de sitios Web Explica cmo proteger las aplicaciones ASP.NET. Contiene enlaces a los siguientes temas. ASP.NET Web Application Security Explica cmo funciona la seguridad ASP.NET y abarca el diseo seguro, as como la seguridad en un entorno alojado. Procedimientos de seguridad bsicos para aplicaciones Web Trata sobre seguridad mnima directrices que se aplican a todas las aplicaciones web. Proteccin de servicios Web XML creados con ASP.NET Describe cmo implementar la seguridad en un servicio Web ASP.NET. Mejora de la seguridad de aplicaciones Web MSDN discutir diferentes aspectos de la seguridad de aplicaciones Web. Crear aplicaciones ASP.NET seguras MSDN discutir diferentes aspectos de la seguridad de aplicaciones Web.

Validar la informacin del usuarioAl construir una aplicacin que accede a los datos, se debe asumir que todas las entradas del usuario es daino mientras no se demuestre lo contrario. De lo contrario, puede dejar su aplicacin vulnerable a los ataques. El Framework. NET contiene clases que le ayudarn a cumplir un dominio de valores para los controles de entrada, tales como limitar el nmero de caracteres que se pueden introducir. Ganchos de eventos le permiten escribir procedimientos para verificar la validez de los valores. Los datos de usuario de entrada pueden ser validadas y fuertemente tipado, lo que limita la exposicin de una aplicacin a las explotaciones de inyeccin de script y SQL. Sin embargo, usted no debe suponer que validar la entrada del usuario puede asegurar su aplicacin. Tambin debe garantizar el origen de datos y validar todas las entradas. Para obtener ms informacin, vea los Libros en pantalla de SQL Server o la documentacin del origen de datos. Seguridad y Entrada de usuario Describe cmo controlar errores sutiles y peligrosas que puedan suponer la entrada del usuario. Validar la informacin del usuario en pginas Web ASP.NET Vista general de la entrada del usuario en la validacin de una aplicacin ASP.NET. Controles de validacin ASP.NET Describe cmo utilizar los controles de validacin ASP.NET para verificar la entrada del usuario y, si es necesario, mostrar mensajes al usuario. Tipos de validacin para controles de servidor ASP.NET Muestra los controles de validacin disponibles y proporciona enlaces que describen cmo usarlos. Entrada de usuario en formularios Windows Forms Proporciona enlaces e informacin para la validacin de ratn y teclado en una aplicacin Windows Forms. Validacin de entrada de usuario en formularios Windows Forms Describe cmo validar la entrada del usuario en una aplicacin de Windows Forms. . NET Framework Expresiones regulares Describe cmo utilizar el Regex clase de comprobar la validez de las entradas del usuario. Asignacin de datos de proveedores de tipos de datos a los datos. NET Framework Tipos Describe cmo asignar. NET de datos especficas del proveedor para tipos de datos.

Visual Studio Tools para OfficeMicrosoft Visual Studio 2005 Tools para Microsoft Office System le permite extender Microsoft Word 2003, Microsoft Excel 2003 y Microsoft Outlook 2003 mediante la creacin de soluciones utilizando Visual C # y Visual Basic. Incorpora las caractersticas de seguridad disponibles en el Marco. NET, con aplicacin restringida adicional de

nivel de dominio poltico que impide que el cdigo se ejecute hasta que se autorice de forma expresa autorizacin. Para obtener ms informacin, vea Seguridad en las soluciones de Office .

Cdigo de Acceso de Seguridad y ADO.NET. NET Framework 2.0Otras versiones

3 de cada 13 ha calificado este til - Valorar este tema El Framework. NET ofrece seguridad basada en roles, as como el cdigo de acceso de seguridad (CAS), los cuales se implementan utilizando una infraestructura comn proporcionada por el Common Language Runtime (CLR). En el mundo del cdigo no administrado, la mayora de las aplicaciones se ejecutan con los permisos del usuario o el director. Como resultado de ello, los sistemas informticos pueden daarse y los datos privados comprometida cuando el software malicioso o lleno de errores se ejecuta por un usuario con privilegios elevados. Por el contrario, el cdigo administrado que se ejecuta en el marco. NET incluye la seguridad de acceso a cdigo, que se aplica a codificar solo. Si el cdigo se puede ejecutar o no depende del origen del cdigo u otros aspectos de la identidad del cdigo, no slo la identidad del representado. Esto reduce la probabilidad de que el cdigo administrado puede ser mal utilizada.

Permisos de acceso a cdigoCuando se ejecuta el cdigo, se presenta evidencia de que es evaluado por el sistema de seguridad de CLR. Normalmente, esta prueba comprende el origen del cdigo incluyendo URL, sitio, y la zona, y las firmas digitales que garantizan la identidad del conjunto. El CLR permite que el cdigo para realizar slo aquellas operaciones que el cdigo tiene permiso para realizar. El cdigo puede solicitar permisos, pero esas peticiones es un honor basado en la poltica de seguridad establecida por el administrador.

Nota

Cdigo que se ejecuta en el CLR no puede conceder permisos a s mismo. Por ejemplo, el cdigo puede solicitar y conceder menos permisos de una poltica de seguridad permite, pero nunca se le concedern ms permisos. Cuando la concesin de permisos, comience con ningn permiso en absoluto y luego aadir los ms estrechos permisos para la tarea concreta que se realiza. Comenzando con todos los permisos y luego negar los individuales conduce a aplicaciones inseguras que pueden contener agujeros de seguridad no intencionales de conceder ms permisos de los necesarios. Para obtener ms informacin, consulteConfigurar directivas de seguridad y de administracin de directivas de seguridad .Hay tres tipos de permisos de acceso al cdigo: Permisos de acceso a cdigo se derivan de la CodeAccessPermission clase, que representa el acceso a un recurso protegido o la capacidad de realizar una operacin protegida. Esto incluye los archivos y variables de entorno, as como realizar operaciones tales como el acceso a cdigo no administrado. Los permisos de identidad representan caractersticas que identifican a una asamblea. Los permisos se conceden para un montaje basado en la evidencia, que puede incluir elementos tales como una firma digital o donde el cdigo de origen. Los permisos de identidad tambin se derivan de laCodeAccessPermission clase base. Para obtener ms informacin, vea Permisos de identidad . Permisos de seguridad basados en funciones se basan en si un director tiene una identidad determinada o es un miembro de una funcin especifica. ElPrincipalPermission clase permite que las comprobaciones de permisos tanto declarativas e imperativas el principal activo. Para obtener ms informacin, vea Seguridad declarativa y Seguridad imperativa . Para determinar si el cdigo est autorizado a acceder a un recurso o realizar una operacin, atraviesa el tiempo de ejecucin del sistema de seguridad de la pila de llamadas, comparando los permisos concedidos a cada llamador con el permiso que se exige. Si alguna persona que llama en la pila de llamadas no tiene el permiso exigido, una SecurityException se lanza y se neg el acceso. Para obtener ms informacin, vea Peticiones de seguridad y optimizaciones de seguridad .

Solicitar permisosEl propsito de los permisos que solicitan es para informar el tiempo de ejecucin que la aplicacin requiere permisos para ejecutar y asegurar que reciba slo los permisos que realmente necesita. Por ejemplo, si su aplicacin necesita escribir datos en el disco local, entonces se requiere FileIOPermission . Si dicha autorizacin no ha sido concedida, la aplicacin no funcionar cuando se intenta escribir en el disco. Sin embargo, si la aplicacin solicita FileIOPermission y el permiso que no ha sido concedida, la aplicacin generar la excepcin al principio y no se cargar. En un escenario en el que la aplicacin slo necesita leer los datos del disco, usted puede solicitar que no se le concedan los permisos de escritura. En caso de un error o un ataque malicioso, el cdigo no puede daar los datos en los que opera. Para obtener ms informacin, vea Solicitar permisos .

Seguridad basada en funciones y CASImplementar tanto seguridad basada en roles y CAS mejora general de la seguridad para su aplicacin. Seguridad basada en roles puede basarse en una cuenta de Windows o una identidad personalizada, haciendo que la informacin acerca de la entidad de seguridad a disposicin del subproceso actual. Adems, las aplicaciones se requiere a menudo para proporcionar acceso a datos o recursos basndose en credenciales proporcionadas por el usuario. Tpicamente, tales aplicaciones comprueban la funcin de un usuario y facilitar el acceso a los recursos basados en esos

roles. Dependiendo del tipo de aplicacin que estamos construyendo, tambin se debe considerar la aplicacin de permisos basados en roles en el origen de datos. Para obtener ms informacin, consulte "Consideraciones de seguridad para SQL Server" en los Libros en pantalla de SQL Server, o la documentacin del producto para el origen de datos.

Tema

Descripcin

Seguridad basada en funciones Configuracin de la seguridad basada en polticas y directores Basados en funciones permisos de seguridad

Trata sobre la seguridad basada y proporciona vnculos a temas adicionales. Describe cmo implementar la poltica basada en la seguridad. Discute el PrincipalPermission objeto.

Asambleas de sujecinLos enlaces de esta seccin tratan la seguridad de su cdigo y sus asambleas. Fuerte de nombres da una aplicacin o componente una identidad nica que otro software puede utilizar para referirse explcitamente a ella. Fuerte-nombrar los ensamblados les protege contra ser suplantada por una asamblea que contiene cdigo hostil. Tambin se asegura de versiones consistencia entre diferentes versiones de un componente. Debe fuerte de renombre asambleas que se van a implementar en la cach de ensamblados global (GAC).

Tema

Descripcin

Directrices para escribir cdigo seguro Crear y utilizar ensamblados con nombre seguro Retrasar la firma de una Asamblea Herramienta de nombre seguro (Sn.exe) La construccin de Asambleas Seguros

Hace hincapi en la importancia de disear la seguridad en sus aplicaciones desde el principio. Explica cmo firmar un ensamblado y hacer referencia a l en una aplicacin. Discute fuertes de denominacin asambleas donde se protege la clave. Describe el uso de la herramienta Sn.exe lnea de comandos para ensamblados con nombre. Este artculo de MSDN contiene informacin completa sobre la escritura y la implementacin de cdigo seguro.

Confianza parcial en ADO.NET 2.0En ADO.NET 2.0, el. NET Framework para SQL Server, el archivo. NET Framework para OLE DB, el. NET Framework para ODBC, y el. NET Framework para Oracle ahora puede ejecutar en todos parcialmente entornos de confianza. En las versiones anteriores del Marco. NET, slo System.Data.SqlClient fue apoyado en menos de las aplicaciones de plena confianza. Como mnimo, una aplicacin de confianza parcial mediante el proveedor de SQL Server debe tener ejecucin y SqlClientPermission permisos.

Propiedades de permisos de atributo para confianza parcialPara los escenarios de confianza parcial, puede utilizar SqlClientPermissionAttribute miembros a restringir an ms la capacidad disponible para. NET Framework para SQL Server.

Nota

El. NET Framework para SQL Server requiere el permiso de seguridad Plena confianza para abrir una SqlConnection con la depuracin de SQL habilitada en SQL Server 2000. Depuracin de SQL para SQL Server 2005 no utiliza esta clase. Ver SQL Server 2005 Libros en pantalla para obtener ms informacin.En la tabla siguiente se muestran los disponibles SqlClientPermissionAttribute propiedades y sus descripciones:

Permiso propiedad de atributo

Descripcin

Accin AllowBlankPassword

Obtiene o establece una accin de seguridad. Se hereda de SecurityAttribute . Activa o desactiva el uso de una contrasea en blanco en una cadena de conexin. Los valores vlidos son verdad (para permitir el uso de contraseas en blanco) y falso (para desactivar el uso de contraseas en blanco). Se hereda de DBDataPermissionAttribute . Identifica una cadena de conexin permitida. Varias cadenas de conexin se pueden identificar.Nota

ConnectionString

No incluya un ID de usuario o contrasea en la cadena de conexin. En esta versin, no se puede cambiar las restricciones de cadena de conexin con la Herramienta de Marco. NET Configuration. Se hereda de DBDataPermissionAttribute . KeyRestrictions Identifica los parmetros de cadena de conexin que estn permitidos o no permitidos. Parmetros de cadena de conexin se identifican en la forma = 5, y el orden de CustLName. Dim custRows () As DataRow = mesa de trabajo. Seleccione (_ "CustID> 5" , "CustLName ASC" )

Utilizando el mtodo de carga. NET Framework 2.0Otras versiones 1 de 1 puntuado este til - Valorar este tema Puede utilizar la carga mtodo para cargar una DataTable con las filas de un origen de datos. Este es un mtodo sobrecargado que, en su forma ms simple, acepta un solo parmetro, un objeto DataReader . De esta forma, simplemente carga el DataTable con las filas. Si lo desea, puede especificar el LoadOption parmetro para controlar la cantidad de datos se agrega a la DataTable . El LoadOption parmetro es particularmente til en los casos en que el DataTable ya contiene filas de datos, ya que describe cmo los datos entrantes desde la fuente de datos se combinan con los datos que ya estn en la mesa. Por ejemplo, PreserveCurrentValues (el valor predeterminado) especifica que en los casos en que se marca una fila como aadido en la DataTable , el original o valor de cada columna se ajusta al contenido de la fila correspondiente de la fuente de datos. Elactual valor retendr los valores asignados cuando la fila se agrega y el RowState de la fila se establece cambiado . La tabla siguiente ofrece una breve descripcin de los LoadOption valores de la enumeracin.

LoadOption valor OverwriteRow

Descripcin Si las filas entrantes tienen el mismo PrimaryKey valor como una fila ya en el DataTable , los originales y actuales valores de cada columna se sustituyen con los valores de la fila de entrada, y el RowState propiedad se establece en Sin cambios . Las filas del origen de datos que no existen en el DataTable se agregan con un RowState de valor sin cambios . Esta opcin refresca efecto en el contenido de la DataTable para que coincida con el contenido de la fuente de datos. Si las filas entrantes tienen el mismo PrimaryKey valor como una fila ya en el DataTable , el original valor se establece en el contenido de la fila de entrada, y el actual valor no cambia. Si el RowState es aadida o modificada , se ajusta a la modificacin . Si el RowState era Deleted , sigue siendo eliminados . Las filas del origen de datos que no existen en el DataTable se agregan, y el RowState se establece en Sin cambios . Si las filas entrantes tienen el mismo PrimaryKey valor como la fila ya en el DataTable , el actual valor se copia en el original valor, y el actual valor se establece en el contenido de la fila de entrada. Si el RowState en el DataTable se agreg , el RowState permanece agreg . Para las filas marcadas

PreserveCurrentValues (por defecto)

UpdateCurrentValues

como modificado o suprimido, el RowState es Modified . Las filas del origen de datos que no existen en el DataTable se agregan, y el RowState se establece en Alta .El ejemplo siguiente utiliza la Carga mtodo para mostrar una lista de los cumpleaos de los empleados de la Northwind base de datos. [Visual Basic]

Private Sub LoadBirthdays (connectionString ByVal como secuencia) "Se supone que connectionString es una cadena de conexin vlida 'A la base de datos Northwind de SQL Server. QueryString Dim As String = _ "SELECT Apellido, Nombre, fecha de nacimiento" & _ "DESDE dbo.Employees" & _ "ORDER BY fecha de nacimiento, apellidos, nombre" 'Abrir y llenar un DataSet. Adaptador As SqlDataAdapter = New SqlDataAdapter (_ queryString, connectionString) Empleados Dim As New DataSet adapter.Fill (empleados, "Empleados") 'Crear un SqlDataReader para su uso con el mtodo de carga. Como lector Dim DataTableReader employees.GetDataReader = () 'Crear una instancia de DataTable y asignar la primera 'DataTable en la coleccin DataSet.Tables a ella. Dim dataTableEmp Como DataTable = employees.Tables (0) 'Llenar el DataTable con los datos llamando a la carga y 'Pasar el SqlDataReader. dataTableEmp.Load (lector, LoadOption.OverwriteRow) 'Recorrer la coleccin de filas y mostrar los valores "En la ventana de la consola. EmployeeRow As DataRow For Each employeeRow En dataTableEmp.Rows Console.WriteLine ("{0: MM \ \ dd \ \ yyyy}" & ControlChars.Tab & _ "{1}, {2}", _ employeeRow ("Fecha de Nacimiento"), _ employeeRow ("LastName"), _ employeeRow ("Nombre")) EmployeeRow Siguiente "Mantener la ventana abierta para ver el contenido. Console.ReadLine () End Sub

Modificar datos en una tabla. NET Framework 2.0Otras versiones

0 de 8 puntuado este til - Valorar este tema Cuando se realizan cambios en los valores de columna en una DataRow , los cambios son inmediatamente colocados en el estado actual de la fila. El DataRowStatese ajusta entonces a modificacin , y los cambios se acepta o se rechaza el uso de AcceptChanges o RejectChanges mtodos de la DataRow . El DataRow tambin proporciona tres mtodos que puede utilizar para suspender el estado de la fila mientras se est editando. Estos mtodos son BeginEdit , EndEdit y CancelEdit . Al modificar los valores de columna en una DataRow directamente, el DataRow gestiona los valores de la columna utilizando el actual , por defecto , y originalesversiones de filas. Adems de estas versiones de filas, los BeginEdit , EndEdit y CancelEdit mtodos utilizan una versin de la fila cuarta propuesta . Para obtener ms informacin acerca de las versiones de fila, vea Estados de fila y versiones de fila . El Proyecto de versin de fila existe durante una operacin de edicin que se inicia llamando a BeginEdit y que termina, ya sea mediante el uso de EndEdit oCancelEdit, o llamando a AcceptChanges o RejectChanges . Durante la operacin de edicin, puede aplicar la lgica de validacin a las columnas individuales mediante la evaluacin de la ProposedValue en elColumnChanged caso de la DataTable . El ColumnChanged even