ADO.NET y SQL Server 2005 David Salgado MVP C#

Slides:



Advertisements
Presentaciones similares
MOSS Servicios de búsqueda e indexación Rubén Alonso Cebrián
Advertisements

FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
INSTRUCTOR: LI Ramiro Robles Villanueva
Plataforma de Software DocAve S oftware de gestión de infraestructura para Microsoft SharePoint.
Detalles técnicos de Sharepoint Search Rubén Alonso Cebrián
Conceptos fundamentales de ADO.NET
Seguridad en SQL Server 2005 para Desarrolladores.
Data Transformation Services y Analysis Services
XML01 Este es el capítulo de prueba
Los objetivos de esta presentación
Bienvenido al evento online de Microsoft Small Business Server 2003 R2 (Volumen II) Andrés de Pereda.
La plataforma .NET David Carmona
YUKON EN EL HORIZONTE Valeria Rodríguez Z. MVP SQL Server Business Manager Paradigma Software S.R.L.
Nuevas tecnologías en Office System
¿Está utilizando todo el potencial de Microsoft SQL Server? Fernando Bocigas SQL Server Product Manager Microsoft Ibérica S.R.L. 16 de Marzo de 2005 Fernando.
Microsoft Office Sharepoint Server Servicios de Búsqueda Rubén Alonso Cebrián Código: HOL-SPS12.
Microsoft Office Sharepoint Server Business Intelligence Rubén Alonso Cebrián Código: HOL-SPS07.
Microsoft Sql Server 2000 Reporting Services Ruben Alonso Cebrian Código: HOL-SQL03.
Microsoft SQL Server 2005 Integration Services
Microsoft Sql Server 2005 Reporting Services
Unidad 2 IDE Visual Studio.Net [UTN - Tecnologías de desarrollo de software IDE] [2009]
Rossy Garita Componentes fundamentales de CLR y
Microsoft Office SharePoint Servers 2007 Alejandro Martín:
Implementación de procedimientos almacenados
Leer y escribir datos XML
Introducción a Microsoft .NET
Implementación de procedimientos almacenados. Introducción a los procedimientos almacenados Creación, ejecución, modificación y eliminación de procedimientos.
Acceso a datos con Microsoft ADO.NET
Acceso a datos con ADO.NET
Desarrollo de una Aplicación Web sobre tecnología Microsoft .NET
SQL Server 2005 Analysis Services
Agenda Conceptos Claves.
INDUSOFT Software para generación de completas aplicaciones industriales multi-plataforma Se compone de un completo y potente conjunto de herramientas.
Microsoft SQL Server 2008 – SQL Server Integration Services
• SQL Server Integration Services SSIS
ADO.NET.
Especialista en Business Intelligence Reporting Services SSRS (Sesión 16) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
• SQL Server Analysis Services
• SQL Reporting Services
• SQL Server Analysis Services
Acceso a Datos avanzado
Soluciones de Colaboración con Valor Agregado
ADO.NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft.
Montevideo 14 de Diciembre Gustavo Larriera Alejandro Ponicke El nuevo día a día con SQL Server 2005.
Microsoft ® SharePoint Products and Technologies Developer Tour EMEA 2004 Microsoft ® SharePoint Products and Technologies Developer Tour EMEA 2004.
Introducción ADO .Net.
Julio Pacheco SQL SERVER 2005 XML APRENDIENDO CON EJEMPLOS.
ADO.Net TGP (Tecnología de la Programación)
Camilo Andrés Laverde Peña
Introducción arquitectura base de datos Microsoft SQL Server 2000/2005
Práctica No. 8 Lectura de Datos. Objetivo: Que el estudiante adquiera conocimientos y técnicas sobre la exploración de base de datos utilizando ASP.NET.
Módulo 14 Programación para DBA. TEMARIO Programación y DBAProgramación y DBA.NET Framework.NET Framework Arquitectura ADO.NETArquitectura ADO.NET.NET.
Clase 9 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
Especialista en Business Intelligence Integration Services SSIS Paquetes y Tareas de Flujo de Datos Microsoft SQL Server 2008 R2 Suscribase a
SQL Server 2005 Analysis Services.
Especialista en Business Intelligence (Sesión 1) Microsoft SQL Server 2008 R2 (Nov.2013) Suscribase a o escríbanos a
Data Compatibility 100% OLE DB architecture (including ODBC) 100% OLE DB architecture (including ODBC) Relational and non-relational sources Relational.
Especialista en Business Intelligence Integration Services SSIS (Sesión 3) Microsoft SQL Server 2008 R2 (Nov.2013) Suscribase a o.
Especialista en Business Intelligence Analysis Services SSAS (Sesión 8) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
Taller de Inteligencia de Negocios SQL Server Integration Services SSIS Semana 2.
• SQL Server Integration Services SSIS
• SQL Server Integration Services SSIS
Taller de Inteligencia de Negocios SQL Server Integration Services SSIS Sesión 3.
ACCESO A DATOS EN ASP.NET Controles de origen de datos Controles enlazados a datos.
VISUAL STUDIO. Paradigmas de Programación Funcionalidad Win16 Win32 COM MFC Componentes Servicios APIs Windows 3.0.
Taller de Inteligencia de Negocios SQL Server Integration Services SSIS Sesión 2.
Transcripción de la presentación:

David Salgado MVP C# david.salgado@muxu.net ADO.NET y SQL Server 2005 David Salgado MVP C# david.salgado@muxu.net © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Agenda ADO.NET Motores de BBDD Modo Conectado Modo Desconectado Integración con XML Motores de BBDD SQL Server 2005

Agenda ADO.NET Motores de BBDD Modo Conectado Modo Desconectado Integración con XML Motores de BBDD SQL Server 2005

ADO.NET Clases, interfaces, estructuras y tipos que gestionan el acceso a los datos desde .NET (no sólo BBDD) Enfocado al desarrollo en n-capas con XML como pilar Los que vienen por defecto System.Data.OleDb System.Data.SqlClient System.Data.Odbc ( vs.net 2003 ) System.Data.Oracle ( vs.net 2003 ) Personalizados

Componentes de ADO.NET ADO.NET WinForm WebForm Otros Consumidores de datos Proveedores de datos WinForm DataSet DataAdapter WebForm Command Connection Otros DataReader

Componentes de ADO.NET Proveedores de datos Modo Desconectado xxxConnection xxxCommand xxxDataReader xxxDataAdapter Modo Desconectado DataAdapter, DataSet

DataSet Objeto estrella en ADO.NET Representa una caché de datos en memoria Contiene DataTables Lee y escribe datos y esquemas en XML Serializable Puede ser tipado o no tipado: El tipado se apoya en un esquema XML (.XSD) para generar la clase El tipado tiene ventajas: Conoce la estructura © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

DataSet DataTable DataSet DataColumn DataTable DataRow Relations Constraints XML Schema © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

DataAdapter DataAdapter Base de datos SelectCommand InsertCommand UpdateCommand DeleteCommand DataSet TableMappings © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

ADO.NET ( alternativas ) Capa de acceso a BBDD Capa de negocio Clientes ( windows, web, smartclient … ) Capa de Acceso a BBDD XConnection XDataAdapter XCommand SqlConnection ODBCConnection OleDbConnection …… XDataReader DataSet © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Modo Conectado Modo Desconectado © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

ADO.NET ¿Como escoger? Que exista el modelo desconectado no quiere decir que lo usemos para todo El acceso conectado es más rápido Escenarios desconectados Navegación en una aplicación Windows Entornos móviles … Cómo decidir Arquitectura http://msdn.microsoft.com/architecture “Patterns & Practices” http://www.microsoft.com/resources/practices Building Blocks

Agenda ADO.NET Motores de BBDD Modo Conectado Modo Desconectado Integración con XML Motores de BBDD SQL Server 2005

Integración con XML XML como almacén de información Relación con el DataSet DataSet ds = new DataSet(); ds.ReadXml(“archivo.xml”); ds.Tables[0].Rows….. ds.WriteXml(“archivo.xml”); APIs de trabajo con XML DOM, SAX, XPath Vendrán: XPath2, XQuery

ADO.NET Integración con XML Capa Presentación Windows forms Aplicación.Exe DataSet Internet Intranet Capa Negocio Web forms IE DataSet DataAdapter DataSet Xml DataAdapter Capa Datos Negocio a Negocio © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

XML como almacén de información © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Agenda ADO.NET Motores de BBDD Modo Conectado Modo Desconectado Integración con XML Motores de BBDD SQL Server 2005

Curioso… ¿Por qué no nos gustan las BBDD a los desarrolladores? Ejercicios 3FN SQL = Simple Query Language No optimizamos, no hacemos trucos,…. Eso es sólo académicamente 

Motores de Base de Datos Orientados a archivo La base de datos se encuentra en un archivo Implicaciones Acceso desde el cliente Ineficiente en accesos simultáneos Para trabajar con aplicaciones distribuidas: Replicarlos en los equipos Directorios compartidos, FTPs… Ejemplos: Clipper, MS Access (.mdb)

Motores de Base de Datos Orientados a servidor Ya no trabajamos contra un archivo, trabajamos contra un servicio Preparado para accesos simultáneos Cliente / Servidor Ejemplos: SQL Server, Oracle, Informix, DB2, PostgreSQL…

Motores de Base de Datos Mitos, Leyendas y el sexo de los ángeles Bases de Datos Orientadas a Objetos Motores de persistencia SI ObjectSpaces, Hibernate, … ¿Qué debemos hacer? ( básico ) Transact-SQL (T-SQL) Evitar select * from …; Evitar búsquedas like ‘%tal’ Crear índices, pero no demasiados Se obtienen buenas sugerencias desde el DTA (Database Tuning Advisor ) Definir el esquema de BD en 3FN Claves primarias, externas, etc. Partir de un buen diseño y desnormalizar según necesidades del desarrollo Motor de persistencia: capa entre la app y la BD que se encarga de transformar los objetos a modelo relacional y viceversa © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Motores de Base de Datos SQL Server 2000 Notification Services Notificaciones & Alertas Data Transformation Services ETL SQL Server Engine Relational Database Engine Reporting Services Informes Empresariales Herramientas de Gestión Herramientas de desarrollo Replication Services Replicación de Datos Analysis Services OLAP & Data Mining © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Motores de Base de Datos Integración del CLR en el motor Soporte HTTP (Servicios Web  endpoints) Nuevo tipo de datos: XML Mejoras en T-SQL Service Broker Nuevo modelo de seguridad Mejoras en administración … Service Broker: Tsql: tenía pésima gestión de errores Acceder a objetos externos a sqlserver: # xp_cmdshell ejecutamos programa externo y resultado a una tabla # SP_OACreate y demás © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Replication Auto-tuning Replication Agents Oracle Publication Improved Blob Change Tracking Replication Monitor OLAP and Data Mining Analysis Management Objects Windows Integrated Backup and Restore Web Service/XML for Analysis DTS and DM Integration New Data Mining Algorithms Auto Packaging and Deployment Data Transformation Services New Architecture (DTR + DTP) Complex Control Flows Control Flow Debugging For Each Enumerations Property Mappings Full Data Flow Designer Full DTS Control Flow Designer Graphical Presentation of Pkg Execution Immediate Mode and Project Mode Package (Advanced) Deployment Tools Custom Tasks and Transformations Reporting Services Multiple Output Formats Parameters (Static, Dynamic, Hierarchical) Bulk Delivery of Personalized Content Support Multiple Data Sources STS (Web Parts, Doc Libraries) Visual Design Tool Charting, Sorting, Filtering, Drill-Through Scheduling, Caching Complete Scripting Engine Scale Out architecture Open XML Report Definition Notification Services & SQL Server CE Database Maintenance Backup and Restore Enhancements Checksum Integrity Checks Dedicated Administrator Connection Dynamic AWE Fast Recovery Highly-available Upgrade Online Index Operations Online Restore Parallel DBCC Parallel Index Operations Management Tools New Management Studio MDX Query Editor Version Control Support XML/A SQLCMD Command Line Tool Performance Tuning Profiler Enhancements Profiling Analysis Services Exportable Showplan Exportable Deadlock Traces MDAC SNAC Microsoft Installer base setup Support for Active Directory Deployment SQL Client .NET Data Provider Server Cursor Support Asynch Security All Permissions Grantable Fine Grain Administration Rights Separation of Users and Schema Data encryption primitives .NET Framework Common Language Runtime Integration User-defined Aggregates User-defined Data Types User-defined Functions SQL Server .NET Data Provider Extended Triggers Data Types Managed SQL Types New XML Datatype Varchar (MAX) Varbinary (MAX) SQL Server Engine New Message Service Broker HTTP Support (Native HTTP) Database Tuning Advisor Multiple Active Result Sets Persisted Computed Columns Snapshot Isolation Level Scale Up Partitioning VIA support NUMA support Database Failure and Redundancy Fail-over Clustering (up to 8 node) Enhanced Multi-instance Support Database Mirroring Database Snapshots XML XQUERY Support XML Data Manipulation Language FOR XML Enhancements XML Schema (XSD) Support MSXML 6.0 (Native) .Net XML Framework Full-text Search Indexing of XML Datatype

Programación en el motor ¿Qué se puede programar en el motor? Consultas y modificaciones sobre los datos Disparadores (triggers) Agrupar funcionalidad en procedimientos almacenados Funciones definidas de usuario …. Es más, debe programarse el servidor  XQuery – consulta sobre tipo de datos XML T-SQL – extensión a SQL NET integrado en el motor - lenguajes Cada cosa es para lo que es 

Programación en el Motor Ejemplos T-SQL CREATE PROCEDURE CustOrdersOrders @CustomerID nchar(5) AS SELECT OrderID, OrderDate, RequiredDate, ShippedDate FROM Orders WHERE CustomerID = @CustomerID ORDER BY OrderID -- Exec CustOrdersOrders ‘ander’

Programación en el Motor Ejemplos T-SQL @vchLoginName varchar(255) = '', create proc dbo.dt_isundersourcecontrol @vchPassword varchar(255) = '', @iWhoToo int = 0 /* 0 => Just check project; 1 => get list of objs */ as set nocount on declare @iReturn int declare @iObjectId int select @iObjectId = 0 declare @VSSGUID varchar(100) select @VSSGUID = 'SQLVersionControl.VCS_SQL' declare @iReturnValue int select @iReturnValue = 0 declare @iStreamObjectId int select @iStreamObjectId = 0 declare @vchTempText varchar(255) declare @iPropertyObjectId int select @iPropertyObjectId = (select objectid from dbo.dtproperties where property = 'VCSProjectID') declare @vchProjectName varchar(255) declare @vchSourceSafeINI varchar(255) declare @vchServerName varchar(255) declare @vchDatabaseName varchar(255) exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSProject', @vchProjectName OUT exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSourceSafeINI', @vchSourceSafeINI OUT exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLServer', @vchServerName OUT exec dbo.dt_getpropertiesbyid_vcs @iPropertyObjectId, 'VCSSQLDatabase', @vchDatabaseName OUT if (@vchProjectName = '') set @vchProjectName = null if (@vchSourceSafeINI = '') set @vchSourceSafeINI = null if (@vchServerName = '') set @vchServerName = null if (@vchDatabaseName = '') set @vchDatabaseName = null if (@vchProjectName is null) or (@vchSourceSafeINI is null) or (@vchServerName is null) or (@vchDatabaseName is null) begin RAISERROR('Not Under Source Control',16,-1) return end if @iWhoToo = 1 /* Get List of Procs in the project */ exec @iReturn = master.dbo.sp_OACreate @VSSGUID, @iObjectId OUT if @iReturn <> 0 GOTO E_OAError exec @iReturn = master.dbo.sp_OAMethod @iObjectId, 'GetListOfObjects',NULL,@vchProjectName, @vchSourceSafeINI,@vchServerName, @vchDatabaseName,@vchLoginName, @vchPassword exec @iReturn = master.dbo.sp_OAGetProperty @iObjectId, 'GetStreamObject', @iStreamObjectId OUT create table #ObjectList (id int identity, vchObjectlist varchar(255)) select @vchTempText = 'STUB' while @vchTempText is not null exec @iReturn = master.dbo.sp_OAMethod @iStreamObjectId, 'GetStream', @iReturnValue OUT, @vchTempText OUT if (@vchTempText = '') set @vchTempText = null if (@vchTempText is not null) insert into #ObjectList (vchObjectlist ) select @vchTempText select vchObjectlist from #ObjectList order by id CleanUp: E_OAError: exec dbo.dt_displayoaerror @iObjectId, @iReturn goto CleanUp select @vchTempText = 'STUB' while @vchTempText is not null begin exec @iReturn = ster.dbo.sp_OAMethod @iStreamObjectId, 'GetStream', @iReturnValue OUT, @vchTempText OUT if @iReturn <> 0 GOTO E_OAError if (@vchTempText = '') set @vchTempText = null if (@vchTempText is not null) insert into #ObjectList (vchObjectlist ) select @vchTempText end

Prodecimiento almacenado desde ADO.NET Algunos escenarios interesantes ( Fernando G. Guerrero, dotnetmania ) *Regular expressions *Gestión avanzada de cadenas de caracteres *Criptografía *Gestión del registro de eventos *Acceso a ficheros *Acceso a biblioteca de funciones financieras *Ejecución de complejas operaciones matemáticas *Cálculo geométrico *Funciones de agregación complejas © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Programación en el Motor .NET Se desarrolla con Visual Studio 2005 Depuración, puntos de interrupción :O Los ensamblados se almacenan en SQL Server 2005 Permite extender el sistema Funciones escalares Tipos Triggers Agregados Procedimientos Acceso a datos SQL Engine CLR Hosting Layer Acceso a datos inprocess: Acceso a datos dentro de un proceso de SQL Server No utilices DataSets si hay cualquier otro modo de hacerlo Salvo que tu padre sea fabricante de módulos de memoria Utiliza SqlDefinition (comandos preparados) en vez de SqlCommand SQL OS Windows © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Procedimiento almacenado Desarrollar, desplegar y depurar con Visual Studio 2005 Algunos escenarios interesantes ( Fernando G. Guerrero, dotnetmania ) *Regular expressions *Gestión avanzada de cadenas de caracteres *Criptografía *Gestión del registro de eventos *Acceso a ficheros *Acceso a biblioteca de funciones financieras *Ejecución de complejas operaciones matemáticas *Cálculo geométrico *Funciones de agregación complejas © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Permission Sets Variables static: cuidado pq coarta la escalabilidad, si cae un clr, caen todos ;) © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Programación en el Motor ¿Cuándo .NET? Procesos complejos Impuestos, descuentos, cálculos matemáticos Acceso a recursos externos Ficheros, sockets, Servicios web, … Proceso de imágenes Aplicaciones científicas Gestión de cadenas Depuración Localización

Tecnología Utilizada SQL Server 2005 T-SQL A la vieja usanza…. declare @str varchar(200) select @Str = 'Microsoft Corporation|SQL Server|2003|SQL-CLR|2002-08-20|11:32:00|Document|3.b.3' SELECT substring(@Str + '|', 0 + 1, charindex('|', @Str + '|', 0 + 1) - 0 - 1 ), substring(@Str + '|', charindex('|', @Str + '|') + 1, charindex('|', @Str + '|', charindex('|', @Str + '|') + 1) - charindex('|', @Str + '|') - 1 ), substring(@Str + '|', charindex('|', @Str + '|', charindex('|', @Str + '|') + 1) + 1, charindex('|', @Str + '|', charindex('|', @Str + '|', charindex('|', @Str + '|') + 1) + 1) - charindex('|', @Str + '|') + 1) - 1 ), charindex('|', @Str + '|') + 1) + 1) + 1, charindex('|', @Str + '|') + 1) + 1) + 1) - charindex('|', @Str + '|') + 1) + 1) - 1 ), charindex('|', @Str + '|') + 1) + 1) + 1) + 1, charindex('|', @Str + '|') + 1) + 1) + 1) + 1) - charindex('|', @Str + '|') + 1) + 1) + 1) - 1 ), charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1, charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1) - charindex('|', @Str + '|') + 1) + 1) + 1) + 1) - 1 ), charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1) + 1, charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1) + 1) - charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1) - 1 ), charindex('|', @Str + '|', charindex('|', @Str + '|', charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1) + 1) + 1, charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1) + 1) + 1) - charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1) + 1) - 1 ) declare @str varchar(200) select @Str = 'Microsoft Corporation|SQL Server|2003|SQL-CLR|2002-08-20|11:32:00|Document|3.b.3' charindex('|', @Str + '|', 0 + 1) - 0 - 1 ), substring(@Str + '|', 0 + 1, SELECT substring(@Str + '|', charindex('|', @Str + '|') + 1, charindex('|', @Str + '|') + 1) - charindex('|', @Str + '|', charindex('|', @Str + '|') - 1 ), charindex('|', @Str + '|', charindex('|', @Str + '|', charindex('|', @Str + '|') + 1) + 1, substring(@Str + '|', charindex('|', @Str + '|', charindex('|', @Str + '|') + 1) + 1) - charindex('|', @Str + '|') + 1) - 1 ), charindex('|', @Str + '|') + 1) + 1) + 1, charindex('|', @Str + '|') + 1) + 1) + 1) - charindex('|', @Str + '|') + 1) + 1) - 1 ), charindex('|', @Str + '|') + 1) + 1) + 1) + 1, charindex('|', @Str + '|') + 1) + 1) + 1) + 1) - charindex('|', @Str + '|') + 1) + 1) + 1) - 1 ), charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1, charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1) - charindex('|', @Str + '|') + 1) + 1) + 1) + 1) - 1 ), charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1) + 1, charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1) + 1) - charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1) - 1 ), charindex('|', @Str + '|', charindex('|', @Str + '|', charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1) + 1) + 1, charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1) + 1) + 1) - charindex('|', @Str + '|') + 1) + 1) + 1) + 1) + 1) + 1) - 1 )

Tecnología Utilizada SQL Server 2005 Ahora tenemos la posibilidad de… public static void SplitString() { string s; s = “Microsoft Corporation|SQLServer|2003|SQL-CLR|2004-08-20|22:00:00|Document|3.b.3“; string[] miArray = s.Split(s, "|"); } © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Recursos www.siquelnet.com [1] www.portalsql.com [2] www.helpdna.net www.solidqualitylearning.com www.sqljunkies.com News de Microsoft  Grupo de usuarios de SqlServer [1] y [2]

¿ Preguntas ? Gracias 

© 2004, 2005 Microsoft Corporation. Todos los derechos reservados. Esta presentación tiene propósito informativo únicamente. Microsoft no ofrece ninguna garantía , expresa o implítica, en este documento. © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.