Anexo2: Test de estrés

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Anexo2: Test de estrés"

Transcripción

1 Anexo2: Test de estrés A continuación se ofrece el código utilizado para la realización del test de estrés al que se han sometido las bases de datos bajo estudio, y cuyos resultados se mostraron en el apartado 7: Test de Rendimiento. El código ha sido escrito en C# (C Sharp), y se ha utilizado Visual Studio C# 2010 Express de Microsoft para la depuración y prueba del código. Se han utilizado los drivers proporcionados por los proveedores de las bases de datos para poder programar en C#, y cuyos enlaces aparece indicados en las referencias. Se indica también el hardware utilizado en dicha prueba Hardware Software S.O Windows 7 Apache Pentium Dual Core E GB RAM 600GB disco duro PHP MySQL b SQL Server 2012 MongoDB MarkLogic 5 103

2 @testmysql.cs Autor: Sergio Bellido Sánchez Proyecto Final de Carrera using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using MySql.Data; using MySql.Data.Types; using MySql.Data.MySqlClient; Conjunto de operaciones que encaminada a testear el rendimiento de la base de datos MySQL para una comparación de resultados con otras bases de datos Mayo 2012 namespace BenchmarkingMYSQL Para la prueba se han definido dos agrupaciones de datos, que están relacionados entre sí y que han sido elegidos para cubrir las necesidades de recolección datos de los empleados de una empresa ficticia public class Afiliado tipo que sirve para la indexación de contenido public Guid _id get; set; public string Nombre get; set; public string Apellido get; set; public string get; set; lista de objetos fuertemente tipada public List<Puesto> Puestos get; set; public class Puesto public Guid AfiliadoId get; set; public string Centro get; set; public string Ciudad get; set; public string Cargo get; set; public string Estudios get; set; clase que contiene el código de entrada a la aplicación de testeo de rendimiento class Program static void Main(string[] args) "Comandos" es una clase que contiene varios métodos de interés. Se crearán varias instancias a medida que se deban probar las inserciones, selecciones y actualizaciones de cada base de datos Comandos uno = new Comandos(); creamos una lista de índices Guid[] guids = new Guid[500]; guids[i] = Guid.NewGuid(); Guid[] ids = guids; Clase que se utiliza para medir el tiempo transcurrido entre un "start" y un "stop" Stopwatch tiempo = new Stopwatch(); 104

3 Inserción de datos en MySQL Comandos dos = new Comandos(); Se va a realizar una simple iteración que va a crear 500 veces los mismos datos y va a insertarlos posteriormente en la base de datos. Dado el propósito de este test, es suficiente con crear los mismos datos un determinado número de veces, no necesitando campos diferentes a cada ocasión El método CrearFicha va a dar valores a las clases declaradas para servir de modelo de datos Afiliado compasql = dos.crearficha(ids[i],"sergio","bellido", "sergio(arroba)", "Dos Hermanas", "Sevilla", "Refuerzo", "Ingeniero"); Se proporciona un incorrecto para que pueda ser actualizado posteriormente a una forma correcta Insertamos las fichas creadas anteriormente en MySQL Usamos char ante los problemas que presentan los ids únicos en Mysql. Un char(36) es el equivalente Char j = dos.insertarafiliadosql(compasql); Obtenemos las estadísticas temporales de la inserción de datos Console.WriteLine("Inserción de datos en MySQL: Tiempo empleado en ms = " Selección de datos en MySQL Comandos tres = new Comandos(); Se realiza una iteración en la que se va a seleccionar cada vez los campos de las clases que sirven de modelo de datos a partir de la id única que previamente se creó y asignó método que permite la selección de datos a raíz de una ID única Afiliado seleccion = tres.selectsql(ids[i]); Console.WriteLine("Selección de datos en MySQL: Tiempo empleado en ms = " + 105

4 Actualización de datos en MySQL Comandos cuatro = new Comandos(); Se realiza una iteración que para cada una de las IDs individuales actualiza el campo que se haya visto modificado de aquellos que se les pasa. En este caso, será el campo el que sea diferente, y por tanto, el que debe ser actualizado en la base de datos Afiliado actualizado = cuatro.crearficha(ids[i], "Sergio", "Bellido", "sergio@micorreo.com", "Dos Hermanas", "Sevilla", "Refuerzo", "Ingeniero"); El método ActualizarSql va a modificar el valor de aquellos campos que hayan sido cambiados. El cuatro.actualizarsql(actualizado); Console.WriteLine("Actualización de datos en MySQL: Tiempo empleado en ms = " + 106

5 @testmongodb.cs Autor: Sergio Bellido Sánchez Proyecto Final de Carrera using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Bson.Serialization.IdGenerators; using MongoDB.Driver; using MongoDB.Driver.Builders; Conjunto de operaciones que encaminada a testear el rendimiento de la base de datos MongoDB para una comparación de resultados con otras bases de datos Mayo 2012 namespace BenchmarkingMongoDB Para la prueba se han definido dos agrupaciones de datos, que están relacionados entre sí y que han sido elegidos para cubrir las necesidades de recolección datos de los empleados de una empresa ficticia public class Afiliado tipo que sirve para la indexación de contenido public Guid _id get; set; public string Nombre get; set; public string Apellido get; set; public string get; set; lista de objetos fuertemente tipada public List<Puesto> Puestos get; set; public class Puesto public Guid AfiliadoId get; set; public string Centro get; set; public string Ciudad get; set; public string Cargo get; set; public string Estudios get; set; clase que contiene el código de entrada a la aplicación de testeo de rendimiento class Program static void Main(string[] args) Inserción de datos en MongoDB Comandos indice = new Comandos(); IndiceMongo es un método potente que permite indexar los datos, lo cual va a acelerar mucho el proceso en una basede datos de tipo NoSQL indice.indicemongo(); Comandos cinco = new Comandos(); 107

6 Afiliado compamongo = cinco.crearficha(ids[i], "Sergio", "Bellido", "sergio(arroba)", "Dos Hermanas", "Sevilla", "Refuerzo", "Ingeniero"); Se insertarán las fichas creadas en la base de datos MongoDB Guid j = cinco.insertarmongodb(compamongo); Console.Write("Inserción de datos en MongoDb: Tiempo empleado en ms = " Selección de datos en MongoDB Comandos seis = new Comandos(); llamamos a la función seleccionarmongodb para hacer una consulta en base al id indicado Afiliado selectmongo = seis.seleccionarmongodb(ids[i]); Console.WriteLine("Selección de datos en MongoDb: Tiempo empleado en ms =" Actualización de datos en MongoDB Comandos siete = new Comandos(); Afiliado actualizamongo = siete.crearficha(ids[i], "Sergio", "Bellido", "sergio@micorreo.com", "Dos Hermanas","Sevilla", "Refuerzo", "Ingeniero"); se actualiza el campo modificado, . En este caso para MongoDB siete.actualizarmongodb(actualizamongo); Console.WriteLine("Actualización de datos en MongoDb: Tiempo empleado en ms = " + 108

7 @testsqlserver.cs Autor: Sergio Bellido Sánchez Proyecto Final de Carrera using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Data; using System.Data.SqlTypes; using System.Data.SqlClient; Conjunto de operaciones que encaminada a testear el rendimiento de la base de datos SQLServer para una comparación de resultados con otras bases de datos Mayo 2012 namespace BenchmarkingSqlServer Para la prueba se han definido dos agrupaciones de datos, que están relacionados entre sí y que han sido elegidos para cubrir las necesidades de recolección datos de los empleados de una empresa ficticia public class Afiliado tipo que sirve para la indexación de contenido public Guid _id get; set; public string Nombre get; set; public string Apellido get; set; public string get; set; lista de objetos fuertemente tipada public List<Puesto> Puestos get; set; public class Puesto public Guid AfiliadoId get; set; public string Centro get; set; public string Ciudad get; set; public string Cargo get; set; public string Estudios get; set; clase que contiene el código de entrada a la aplicación de testeo de rendimiento class Program static void Main(string[] args) Inserción de datos en SQL Server Comandos ocho = new Comandos(); llamamos a la función CrearFicha con todos los atributos para pasar los valores a las clases declaradas 109

8 Afiliado compasqlserver = ocho.crearficha(ids[i], "Sergio", "Bellido", "sergio(arroba)", "Dos Hermanas", "Sevilla", "Refuerzo", "Ingeniero"); Insertamos las fichas de afiliados creadas anteriormente, esta vez en SQLServer Guid k = ocho.insertarsqlserver(compasqlserver); Console.WriteLine("Inserción de datos en SQL Server: Tiempo en ms = " Selección de datos en SQL Server Comandos nueve = new Comandos(); Afiliado seleccionserver = nueve.selectsqlserver(ids[i]); Console.WriteLine("Selección de datos en SQL Server: Tiempo en ms = " Actualización de datos en SQL Server Comandos diez = new Comandos(); Afiliado actualizadoserver = diez.crearficha(ids[i], "Sergio", "Bellido", "sergio@micorreo.com", "Dos Hermanas","Sevilla", "Refuerzo", "Ingeniero"); Se actualizan los valores de las fichas. En este caso se ha modificado únicamente el valor del correo electrónico cuatro.actualizarsqlserver(actualizadoserver); Console.WriteLine("Actualización de datos en SQL Server: Tiempo en ms = " + Console.WriteLine("Hay " + totalcellfin.tostring() + " filas en base de datos MySQL y " + totaldocsfin.tostring() + " documentos en base de datos MongoDB y" + totalcellfinserver.tostring() + "filas en la base de datos SQL Server"); 110

9 @testmarklogic.cs Autor: Sergio Bellido Sánchez Proyecto Final de Carrera using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using Marklogic.Xcc; using Marklogic.Xcc.Session; using Marklogic.Xcc.Request; using Marklogic.Xcc.ContentSource; using Marklogic.Xcc.ContentSourceFactory; using Marklogic.Xcc.ResultSequence; Conjunto de operaciones que encaminada a testear el rendimiento de la base de datos MarkLogic para una comparación de resultados con otras bases de datos Mayo 2012 namespace BenchmarkingMarklogic Para la prueba se han definido dos agrupaciones de datos, que están relacionados entre sí y que han sido elegidos para cubrir las necesidades de recolección datos de los empleados de una empresa ficticia public class Afiliado tipo que sirve para la indexación de contenido public Guid _id get; set; public string Nombre get; set; public string Apellido get; set; public string get; set; lista de objetos fuertemente tipada public List<Puesto> Puestos get; set; public class Puesto public Guid AfiliadoId get; set; public string Centro get; set; public string Ciudad get; set; public string Cargo get; set; public string Estudios get; set; clase que contiene el código de entrada a la aplicación de testeo de rendimiento class Program static void Main(string[] args) Inserción de datos en MARKLOGIC ContentCreateOptions options = ContentCreateOptions.NewTextInstance(); RequestOptions options1 = new RequestOptions(); Comandos xmluno = new Comandos(); XmlTextWriter compaxml = null; 111

10 llamamos a la función CrearFicha con todos los atributos para pasar los valores a las clases declaradas compaxml = xmluno.crearficha(ids, "Sergio", "Bellido", "sergio(arroba)", "Dos Hermanas","Sevilla", "Refuerzo", "Ingeniero"); Insertamos las fichas de afiliados creadas anteriormente, esta vez en MARKLOGIC Guid k = xmluno.insertarmarklogic(compaxml, options); Console.WriteLine("Inserción de datos en MARKLOGIC Server: Tiempo en ms = " Selección de datos en MARKLOGIC Comandos xmldos = new Comandos(); Afiliado seleccionxml = xmldos.selectmarklogic(ids[i], options1, i, options); Console.WriteLine("Selección de datos en MARKLOGIC Server: Tiempo en ms = " Actualización de datos en MARKLOGIC Comandos xmltres = new Comandos(); Se actualizan los valores de las fichas. En este caso se ha modificado únicamente el valor del correo electrónico xmltres.actualizarmarklogic(ids, "Sergio", "Bellido", "sergio@micorreo.com", "Dos Hermanas","Sevilla", "Refuerzo", "Ingeniero", options); Console.WriteLine("Actualización de datos en MARKLOGIC Server: Tiempo en ms = " + 112

11 @testcomandos.cs Autor: Sergio Bellido Sánchez Proyecto Final de Carrera using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Data; using System.Data.SqlTypes; using System.Data.SqlClient; using MySql.Data; using MySql.Data.Types; using MySql.Data.MySqlClient; using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Bson.Serialization.IdGenerators; using MongoDB.Driver; using MongoDB.Driver.Builders; using Marklogic.Xcc; using Marklogic.Xcc.Session; using Marklogic.Xcc.Request; using Marklogic.Xcc.ContentSource; using Marklogic.Xcc.ContentSourceFactory; using Marklogic.Xcc.ResultSequence; Clase que contiene todos los métodos necesarios para insertar, seleccionar y actualizar los datos public class Comandos Método genérico válido para las 3 bases de datos, que crea una ficha con los valores pasados public Afiliado CrearFicha(Guid afiliadoid, string nombre, string apellidos, string correo, string centro, string ciudad, string cargo, string estudios) Afiliado nuevo = new Afiliado(); Puesto newpuesto = new Puesto(); nuevo._id = afiliadoid; nuevo.nombre = nombre; nuevo.apellido = apellidos; nuevo. = correo; newpuesto.afiliadoid = afiliadoid; newpuesto.centro = centro; newpuesto.ciudad = ciudad; newpuesto.cargo = cargo; newpuesto.estudios = estudios; Se crea un lista fuertemente tipada List<Puesto> lista = new List<Puesto>(); Se añade la clase inicializada lista.add(newpuesto); Se injerta en la lista Puestos de Afiliado nuevo.puestos = lista; Devuelve la ficha creada, que es una instancia de Afiliado return nuevo; 113

12 /Tomamos una instancia de Afiliado, y lo insertamos en MySQL public Char InsertarAfiliadoSQL(Afiliado ejemplo) Se crea una conexión con MySQL que será la misma para inserciones, selecciones y actualizaciones string conex = "server=localhost; user id=root; password=passw; database=test; pooling=false;"; MySqlConnection consql = new MySqlConnection(conex); Se van a crear 3 contextos para poder trabajar independientemente con los datos cmd1 insertará los datos pasados como argumentos en la clase Afiliado cmd2 insertará los datos pasados como argumentos en la clase Puesto cmd3 consultará la ID del elemento para devolver dicho valor string cadena1 = "INSERT INTO afiliado(id, Nombre, Apellido, ) VALUES ('" + ejemplo._id + "','" + ejemplo.nombre + "','" + ejemplo.apellido + "','" + ejemplo. + "')"; MySqlCommand cmd1 = new MySqlCommand(cadena1, consql); string cadena2 = "INSERT INTO puesto(afiliadoid, Centro, Ciudad, Cargo, Estudios) VALUES ('" + ejemplo._id + "','" + ejemplo.puestos[0].centro + "','" + ejemplo.puestos[0].ciudad + "','" + ejemplo.puestos[0].cargo + "','" + ejemplo.puestos[0].estudios + "')"; MySqlCommand cmd2 = new MySqlCommand(cadena2, consql); string cadena3 = "SELECT ID='" + ejemplo._id + "' FROM Afiliado"; MySqlCommand cmd3 = new MySqlCommand(cadena3, consql); Char id = '0'; try abrimos la conexión con la base de datos consql.open(); ejecuta la inserción de datos en Afiliado cmd1.executenonquery(); ejecuta la inserción de datos en Puesto cmd2.executenonquery(); Por la naturaleza de MySQL convertimos la ID en un tipo char ExecuteScalar proporciona el valor de la primera columna de la tabla id = Convert.ToChar(cmd3.ExecuteScalar()); catch (Exception ex) Console.WriteLine(ex.ToString()); consql.close(); return id; tomamos un id de un afiliado, abrimos las conexiones, le damos el valor de id, y recogemos el resto de campos. Devolvemos el afiliado complete public Afiliado SelectSql(Guid afiliadoid) string conex = "server=localhost; user id=root; password=passw; database=test; pooling=false;"; MySqlConnection consql = new MySqlConnection(conex); le pasamos una cadena al contexto para que pueda seleccionar los datos string cadena = "SELECT c.nombre, c.apellido, c. , a.centro, a.ciudad, a.cargo, a.estudios FROM afiliado c INNER JOIN puesto a ON a.afiliadoid=c.id WHERE c.id=afiliadoid"; 114

13 MySqlCommand cmd = new MySqlCommand(cadena, consql); Afiliado nuevo = new Afiliado(); Puesto newpuesto = new Puesto(); try consql.open(); MySqlDataReader lee = cmd.executereader(); vamos a leer los datos de la consulta realizada y se van a tomar los datos columna a columna while (lee.read()) nuevo.nombre = lee.getstring(0); nuevo.apellido = lee.getstring(1); nuevo. = lee.getstring(2); newpuesto.centro = lee.getstring(3); newpuesto.ciudad = lee.getstring(4); newpuesto.cargo = lee.getstring(5); newpuesto.estudios = lee.getstring(6); break; lee.close(); catch (Exception ex) Console.WriteLine(ex.ToString()); consql.close(); cmd.dispose(); nuevo.puestos = new List<Puesto>(); Obligamos a que Puestos sea una lista tipada, y añadimos los valores del objeto newpuesto nuevo.puestos.add(newpuesto); return nuevo; Método que actualiza aquellos campos que hayan sido modificados respecto al que ya esté en la base de datos public void ActualizarSql(Afiliado ejemplo) string conex = "server=localhost; user id=root; password=passw; database=test; pooling=false;"; MySqlConnection consql = new MySqlConnection(conex); Establecemos dos contextos, uno para actualizar la clase Afiliado, y otro para Puesto string cadena = "Update afiliado SET Nombre='" + ejemplo.nombre + "', Apellido='" + ejemplo.apellido + "', ='" + ejemplo. + "' WHERE ID='" + ejemplo._id + "'"; MySqlCommand cmd = new MySqlCommand(cadena, consql); string cadena1 = "Update puesto SET Centro='" + ejemplo.puestos[0].centro + "', Ciudad='" + ejemplo.puestos[0].ciudad + "', Cargo='" + ejemplo.puestos[0].cargo + "', Estudios='" + ejemplo.puestos[0].estudios + "'"; MySqlCommand cmd1 = new MySqlCommand(cadena1, consql); 115

14 try consql.open(); cmd.executenonquery(); /ejecutamos las actualizaciones pertinentes en el primer contexto cmd1.executenonquery(); ejecutamos las actualizaciones pertinentes en el segundo contexto catch (Exception ex) Console.WriteLine(ex.ToString()); consql.close(); cmd.dispose(); Método que va a permitir la indexación del ID pasado, lo que va a acelerar mucho los distintos procesos que llevemos a cabo en MongoDB, y que además, no es algo común en el resto de bases de datos NoSQL public void IndiceMongo() Se establece una conexión con MongoDB a través de la dirección local string connectionstring = "mongodb:// "; MongoServer server = MongoServer.Create(connectionString); MongoDatabase test = server.getdatabase("test"); Asociamos el índice con el campo _ID de la clase Afiliado MongoCollection<Afiliado> afiliados = test.getcollection<afiliado>("afiliado"); afiliados.createindex("_id"); Insertamos los datos pasados de la clase Afiliado en MongoDB, lo que nos va a permitir trabajar con la ficha public Guid InsertarMongoDb(Afiliado user) string connectionstring = "mongodb:// "; MongoServer server = MongoServer.Create(connectionString); MongoDatabase test = server.getdatabase("test"); devuelve un objeto que representa la colección en la BD MongoCollection<Afiliado> afiliados = test.getcollection<afiliado>("afiliado"); insertamos los datos en la base de datos afiliados.insert(user); return user._id; Método que selecciona un documento a raíz del ID único que le corresponda public Afiliado SeleccionarMongoDb(Guid afiliadoid) Afiliado user = null; string connectionstring = "mongodb:// "; var query = new QueryDocument("_Id", "" + afiliadoid + ""); MongoServer server = MongoServer.Create(connectionString); MongoDatabase test = server.getdatabase("test"); MongoCollection<Afiliado> afiliados = test.getcollection<afiliado>("afiliado"); FindOneByIdAS permite consultar un elemento en base a una ID proporcionada user = afiliados.findonebyidas<afiliado>(afiliadoid); return user; 116

15 Método que actualiza aquellos valores que hayan sido modificados respecto a los originales public void ActualizarMongoDb(Afiliado user) string connectionstring = "mongodb:// "; MongoServer server = MongoServer.Create(connectionString); MongoDatabase test = server.getdatabase("test"); MongoCollection<Afiliado> afiliados = test.getcollection<afiliado>("afiliado"); Save() permite insertar y actualizar en dos tiempos los datos que hayan sido modificados afiliados.save<afiliado>(user); Método para insertar los datos de las fichas en SQL Server public Guid InsertarSQLserver(Afiliado ejemplo) Se crea una conexión con SQL Server, LocalDB, de la gama de productos SQL Server string conex Initial Catalog=test;Integrated Security=True;"; SqlConnection consql = new SqlConnection(conex); Se van a crear 3 contextos para poder trabajar independientemente con los datos cmd1 insertará los datos pasados como argumentos en la clase Afiliado cmd2 insertará los datos pasados como argumentos en la clase Puesto cmd3 consultará la ID del elemento para devolver dicho valor string cadena1 = "INSERT INTO afiliado(id, Nombre, Apellido, ) VALUES ('" + ejemplo._id + "','" + ejemplo.nombre + "','" + ejemplo.apellido + "','" + ejemplo. + "')"; SqlCommand cmd1 = new SqlCommand(cadena1, consql); string cadena2 = "INSERT INTO puesto(afiliadoid, Centro, Ciudad, Cargo, Estudios) VALUES ('" + ejemplo._id + "','" + ejemplo.puestos[0].centro + "','" + ejemplo.puestos[0].ciudad + "','" + ejemplo.puestos[0].cargo + "','" + ejemplo.puestos[0].estudios + "')"; SqlCommand cmd2 = new SqlCommand(cadena2, consql); string cadena3 = "SELECT ID='" + ejemplo._id + "' FROM afiliado"; SqlCommand cmd3 = new SqlCommand(cadena3, consql); Guid id2 = Guid.Empty; try Abrimos conexión con el servidor consql.open(); cmd1.executenonquery(); Ejecutamos las inserciones de los dos primeros contextos cmd2.executenonquery(); id2 = new Guid(cmd3.ExecuteScalar().ToString()); Tomamos el ID correspondiente para devolverlo catch (Exception ex) Console.WriteLine(ex.ToString()); consql.close(); return id2; 117

16 Tomamos un id de un afiliado, abrimos las conexiones, le damos el valor de id, y recogemos el resto de campos. Devolvemos el afiliado completo public Afiliado SelectSqlserver(Guid afiliadoid) string conex Initial Catalog=test;Integrated Security=True;"; SqlConnection consql = new SqlConnection(conex); string cadena = "SELECT c.nombre, c.apellido, c. , a.centro, a.ciudad, a.cargo, a.estudios FROM afiliado c INNER JOIN puesto a ON a.afiliadoid=c.id WHERE c.id=afiliadoid"; SqlCommand cmd = new SqlCommand(cadena, consql); Afiliado nuevo = new Afiliado(); se crean ambas instancias para poder trabajar con todos los datos de la consulta Puesto newpuesto = new Puesto(); try consql.open(); SqlDataReader lee = cmd.executereader(); while (lee.read()) nuevo.nombre = lee.getstring(0); nuevo.apellido = lee.getstring(1); nuevo. = lee.getstring(2); newpuesto.centro = lee.getstring(3); newpuesto.ciudad = lee.getstring(4); newpuesto.cargo = lee.getstring(5); newpuesto.estudios = lee.getstring(6); break; lee.close(); catch (Exception ex) Console.WriteLine(ex.ToString()); consql.close(); cmd.dispose(); nuevo.puestos = new List<Puesto>(); Obligamos a que Puestos sea una lista tipada, y añadimos los valores del objeto newpuesto nuevo.puestos.add(newpuesto); return nuevo; Método para actualizar los datos que se vean modificados de las clases implicadas respecto a los valores originales public void ActualizarSqlserver(Afiliado ejemplo) string conex Initial Catalog=test;Integrated Security=True;"; SqlConnection consql = new SqlConnection(conex); Establecemos dos contextos, uno para actualizar la clase Afiliado, y otro Puesto string cadena = "Update afiliado SET Nombre='" + ejemplo.nombre + "', Apellido='" + ejemplo.apellido + "', ='" + ejemplo. + "' WHERE ID='" + ejemplo._id + "'"; 118

17 SqlCommand cmd = new SqlCommand(cadena, consql); string cadena1 = "Update puesto SET Centro='" + ejemplo.puestos[0].centro + "', Ciudad='" + ejemplo.puestos[0].ciudad + "', Cargo='" + ejemplo.puestos[0].cargo + "', Estudios='" + ejemplo.puestos[0].estudios + "'"; SqlCommand cmd1 = new SqlCommand(cadena1, consql); try consql.open(); cmd.executenonquery(); cmd1.executenonquery(); catch (Exception ex) Console.WriteLine(ex.ToString()); consql.close(); cmd.dispose(); Método que va a permitir trabajar con las clases Afiliado y Puesto mediante etiquetas XML para dar apoyo a la base de datos Marklogic public XmlTextWriter CrearFicha(Guid[] afiliadoid, string nombre, string apellidos, string correo, string centro, string ciudad, string cargo, string estudios) XmlTextWriter writer = new XmlTextWriter("benchmarking.xml", System.Text.Encoding.UTF8); Usa indentación por legibilidad writer.formatting = Formatting.Indented; Escribe la declaración del XML writer.writestartdocument(); Escribe el elemento raíz writer.writestartelement("benchmark"); writer.writestartelement("afiliado"); Escribe los elementos dentro de sus etiquetas writer.writeattributestring("xmlns", "bk", null, "urn:samples"); writer.writeattributestring("id", "" + afiliadoid[i] + ""); writer.writeelementstring("nombre", "" + nombre + ""); writer.writeelementstring("apellido", "" + apellidos + ""); writer.writeelementstring(" ", "" + correo + ""); writer.writeendelement(); writer.writestartelement("puesto"); writer.writeelementstring("afiliadoid", "" + afiliadoid[i] + ""); writer.writeelementstring("centro", "" + centro + ""); writer.writeelementstring("ciudad", "" + ciudad + ""); writer.writeelementstring("cargo", "" + cargo + ""); writer.writeelementstring("estudios", "" + estudios + ""); writer.writeendelement(); writer.writeendelement(); writer.writeenddocument(); writer.flush(); writer.close(); 119

18 Devuelve la ficha creada, que es una instancia de Afiliado return writer; Método que permite la inserción de documentos XML en la base de datos Marklogic Public Guid InsertarMarklogic(XmlTextWriter ejemplo, ContentCreateOptions options) Establecemos conexión con la base de datos Marklogic Uri uri = new Uri("xcc://user:pass@localhost:8888/Documents"); ContentSource contentsource = ContentSourceFactory.NewContentSource(uri); Session session = contentsource.newsession(); FileInfo file = new FileInfo("benchmarking.xml"); Content content = ContentFactory.NewContent("benchmarking.xml", file, options); session.insertcontent(content); session.dispose(); session.close(); Guid id2 = Guid.Empty; //Se deja limpio el elemento return id2; Función en la que tomamos un id de un afiliado, abrimos las conexiones, le damos el valor de id, y recogemos el resto de campos. Devolvemos el afiliado complete public Afiliado SelectMarklogic(Guid afiliadoid, RequestOptions options, int i, ContentCreateOptions options1) Afiliado nuevo = new Afiliado(); Indicamos la localización de la base de datos mediante su Uri Uri uri = new Uri("xcc://user:pass@localhost:8888/Documents"); ContentSource contentsource = ContentSourceFactory.NewContentSource(uri); Session session = contentsource.newsession(); Se especifica el nombre del documento que debe buscarse, así como los atributos que se quieren seleccionar, indicados con /Benchmark/Afiliado[@id=afiliadoID] Request request = session.newadhocquery( "doc('xcc://user:pass@localhost:8888/documents/benchmarking.xml') /Benchmark/Afiliado[@id='" + afiliadoid + "']"); ResultSequence rs = session.submitrequest(request); return nuevo; Método para actualizar los datos que se vean modificados de las clases implicadas respecto a los valores originales public void ActualizarMarklogic(Guid[] afiliadoid, string nombre, string apellidos, string correo, string centro, string ciudad, string cargo, string estudios, ContentCreateOptions options) Esta declaración nos va a permitir recorrer el documento XML DataSet elemento = new DataSet(); elemento.readxml("benchmarking.xml"); string campo; Se buscará en cada registro aquel que coincida con el ID, y se actualizarán sus campos string afiliadoidstring; for(int i = 0; i<500; i++) afiliadoidstring = "" + afiliadoid[i] + ""; 120

19 for(int j=0; j<=elemento.tables["afiliado"].rows.count;j++) campo = elemento.tables["afiliado"].rows[j]["id"].tostring(); if (campo == afiliadoidstring) elemento.tables["afiliado"].rows[j]["nombre"] = nombre; elemento.tables["afiliado"].rows[j]["apellido"] = apellidos; elemento.tables["afiliado"].rows[j][" "] = correo; elemento.tables["puesto"].rows[j]["centro"] = centro; elemento.tables["puesto"].rows[j]["ciudad"] = ciudad; elemento.tables["puesto"].rows[j]["cargo"] = cargo; elemento.tables["puesto"].rows[j]["estudios"] = estudios; elemento.writexml("benchmarking.xml"); elemento.dispose(); Insertamos de nuevo el contenido en la base de datos Uri uri = new Uri("xcc://user:pass@localhost:8888/Documents"); ContentSource contentsource=contentsourcefactory.newcontentsource(uri); Session session = contentsource.newsession(); FileInfo file = new FileInfo("benchmarking.xml"); Content content=contentfactory.newcontent("benchmarking.xml", file, options); session.insertcontent(content); session.close(); 121

6. Test de Rendimiento

6. Test de Rendimiento 58 BLOQUE 3 6. Test de Rendimiento En este proyecto se están estudiando los diferentes sistemas de bases de datos existentes en el mercado, para conocer sus características y contar así con suficiente

Más detalles

Conexión SQL Server y C# (Consola)

Conexión SQL Server y C# (Consola) Conexión SQL Server y C# (Consola) Objetivo: Manejar bases de datos usando SQL Server, creando tablas dentro una base de datos y esto a su vez enlazarlo a una aplicación de C#, haciendo uso del método

Más detalles

Manejo de una Base de Datos Microsoft SQL Server. a través de Visual C #, vía instrucciones SQL.

Manejo de una Base de Datos Microsoft SQL Server. a través de Visual C #, vía instrucciones SQL. Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía instrucciones SQL. M.C. Enrique Ruiz Díaz. Estoy titulado en la Maestría en Ciencias de la Computación, Misma que estudié en

Más detalles

Practica 7 Conexión a su base de datos. Optativa II

Practica 7 Conexión a su base de datos. Optativa II 1. Inicie sesión en su manejador de base de datos y agregue los procedimientos de almacenados mediante los cuales manejaremos las tablas agregadas en la práctica anterior. 2. Colóquese en su base de datos.

Más detalles

GUIA PRACTICA 1 VISUAL C#.Net SQL SERVER 2012 MANTENIMIENTO DE UNA TABLA

GUIA PRACTICA 1 VISUAL C#.Net SQL SERVER 2012 MANTENIMIENTO DE UNA TABLA GUIA PRACTICA 1 VISUAL C#.Net 2010 + SQL SERVER 2012 MANTENIMIENTO DE UNA TABLA 1. Elaborar una aplicación windows en Visual C#.Net 2010 que realice el mantenimiento de la tabla Proveedor. Utilice procedimientos

Más detalles

Creación de un sistema ABC

Creación de un sistema ABC Creación de un sistema ABC Altas - Bajas - Cambios Generalidades de código -SQL Server 2005 Express Ed. -Microsoft Visual C# 2008 Por: Juan Francisco González Reyes 07230471 ITSL Durango, México Cómo hacer

Más detalles

Bases de Datos Access y C#. Insert, select, update, delete. 1. Crea una base de Datos en Access

Bases de Datos Access y C#. Insert, select, update, delete. 1. Crea una base de Datos en Access Bases de Datos Access y C#. Insert, select, update, delete 1. Crea una base de Datos en Access 2. Crea un Nuevo proyecto en C# 3. Agrega una nueva clase llamada Database y a continuación escribe el siguiente

Más detalles

Conexión a Base de Datos.

Conexión a Base de Datos. Base de datos I Facultad: Ingeniería Escuela: Computación Asignatura:BDI Conexión a Base de Datos. Objetivo Crear una interfaz gráfica con Visual C#.NET de manera básica Utilizar las sentencias de DML

Más detalles

Crear una interfaz gráfica con Visual C#.NET de manera básica Utilizar las sentencias de DML de base de datos en Visual C#.NET

Crear una interfaz gráfica con Visual C#.NET de manera básica Utilizar las sentencias de DML de base de datos en Visual C#.NET Programación III Facultad: Ingeniería Escuela: Computación Asignatura: PROG. III C# + SQL Parte I. Objetivo Crear una interfaz gráfica con Visual C#.NET de manera básica Utilizar las sentencias de DML

Más detalles

Programació amb C#.NET

Programació amb C#.NET Programació amb C#.NET Tema 5 (g): ADO.NET Jordi Linares i Pellicer Índice! Introducción! Qué es ADO.NET?! Clases y Objetos de ADO.NET! Explorador de Servidores! Orígenes de Datos! Interfaz Conectada a

Más detalles

Tutorial : Hacer Combos Dependientes tipo Departamento Ciudad en ASP. Net

Tutorial : Hacer Combos Dependientes tipo Departamento Ciudad en ASP. Net Tutorial : Hacer Combos Dependientes tipo Departamento Ciudad en ASP. Net Hola amigos, les traigo una manera muy muy sencilla hacer combos o listas desplegables dependientes tipo departamento ciudad utilizando

Más detalles

Entendiendo ADO.NET con C#,Mono y PostgreSQL

Entendiendo ADO.NET con C#,Mono y PostgreSQL Entendiendo ADO.NET con C#,Mono y PostgreSQL por Martín Márquez Introducción Hoy en día los sistemas de información requieren de plataformas o Framework's que nos brinden seguridad,

Más detalles

Insertar datos en una tabla MySQL en C# WPF

Insertar datos en una tabla MySQL en C# WPF Insertar datos en una tabla MySQL en C# WPF En el ejemplo anterior la conexión la hacíamos mediante un botón, sin embargo pensando de manera mas realista así no se aplica en la vida real, normalmente debemos

Más detalles

Objetivo: instanciar desde mi Panel de Control, la ventana de Registro de Clientes, la cual

Objetivo: instanciar desde mi Panel de Control, la ventana de Registro de Clientes, la cual Objetivo: instanciar desde mi Panel de Control, la ventana de Registro de Clientes, la cual deberá de asignar la clave del cliente de manera automática, y después, almacenar datos de estos en la tabla

Más detalles

Python desde Cero: Bases de Datos

Python desde Cero: Bases de Datos http://codehero.co/python-desde-cero-bases-de-datos/ Python desde Cero: Bases de Datos Hoy, vamos a aprender todo lo relacionado con el módulo MySQLdb, en otras palabras, aprenderemos a conectarnos a una

Más detalles

GUÍA DE TRABAJO N 11 LENGUAJE C# Programación de Software Articulación SENA Grado 10 Ing. Néstor Raúl Suarez Perpiñan Página 2 de 11

GUÍA DE TRABAJO N 11 LENGUAJE C# Programación de Software Articulación SENA Grado 10 Ing. Néstor Raúl Suarez Perpiñan Página 2 de 11 Página 1 de 11 GUIA N 11 - DESARROLLO DE SOFTWARE A TRES CAPAS Objetivo: Desarrollar una aplicación de software con tres capas (Presentación Lógica Persistencia) donde se establezca una conexión con una

Más detalles

EXAMEN PRACTICO UNIDAD 7 CONCURRENCIA DISEÑO DEL FORMULARIO

EXAMEN PRACTICO UNIDAD 7 CONCURRENCIA DISEÑO DEL FORMULARIO EXAMEN PRACTICO UNIDAD 7 CONCURRENCIA DISEÑO DEL FORMULARIO ComboBox1 ComboBox2 textbox1 textbox2 textbox3 button1 button2 Concurrencia en Bases de Datos. La presente práctica consiste en implementar con

Más detalles

Creando CRUD en PHP: operaciones básicas para la gestión de bases de datos

Creando CRUD en PHP: operaciones básicas para la gestión de bases de datos Creando CRUD en PHP: operaciones básicas para la gestión de bases de datos Cualquier portal web utiliza algún sistema de base de datos para almacenar la información que luego mostrará en sus páginas. Para

Más detalles

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende

Más detalles

Durante este tema se van a tratar de 2 tipos de errores: los de ejecución y los lógicos. Ignoramos los errores de compilación.

Durante este tema se van a tratar de 2 tipos de errores: los de ejecución y los lógicos. Ignoramos los errores de compilación. TEMA 7: ERRORES 1. CONCEPTOS PREVIOS Durante este tema se van a tratar de 2 tipos de errores: los de ejecución y los lógicos. Ignoramos los errores de compilación. De ejecución: Son las excepciones que

Más detalles

Guia#9: Punteros en C#.

Guia#9: Punteros en C#. Guia#9: Punteros en C#. Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Objetivos. Conocer el concepto de punteros y su aplicación en C#. Desarrollar aplicaciones en

Más detalles

Bases de Datos. Diseño y Programación Avanzada de Aplicaciones. Curso

Bases de Datos. Diseño y Programación Avanzada de Aplicaciones. Curso Bases de Datos Diseño y Programación Avanzada de Aplicaciones Curso 2002-2003 INDICE Fichero vs. Bases de Datos Relacionales Un fichero constituye la forma más básica de almacenamiento de información.

Más detalles

Base de datos En este tutorial vamos a trabajar con la siguiente base de datos. Programación II Turno Mañana

Base de datos En este tutorial vamos a trabajar con la siguiente base de datos. Programación II Turno Mañana INTRODUCCION El propósito de este tutorial es mostrar paso a paso la manera de como usar y conectar C# con MySQL usando MySQL Connect/NET. Se creara un ejemplo sencillo acerca de sentencias SQL(INSERT,UPDATE,DELETE,SELECT)

Más detalles

Laboratorio de Programación III

Laboratorio de Programación III Laboratorio de Programación III Profesor René Sandoval Ingeniero (E) Informática rene2160@gmail.com Qué es JDBC? JDBC es el acrónimo de Java DataBase Conectivity Es una especificación de un conjunto de

Más detalles

Código de la Aplicación

Código de la Aplicación UNIVERSIDAD TECNOLÓGICA DE IZÚCAR DE MATAMOROS Código de la Aplicación El alumno desarrollará aplicaciones visuales con acceso a una BD local para administrar la información. 22/10/2012 Implementar sistemas

Más detalles

GUÍA DE TRABAJO N 9 - LENGUAJES C# + SQL Educación Media Fortalecida Programación de Software GRADO 11 Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8

GUÍA DE TRABAJO N 9 - LENGUAJES C# + SQL Educación Media Fortalecida Programación de Software GRADO 11 Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8 Página 1 de 8 TEMA: PROCEDIMIENTOS ALMACENADOS EN SQL SERVER OBJETIVO: Adquirir los conocimientos necesarios para desarrollar e implementar procedimientos almacenados utilizando SQL Server y lenguaje C#

Más detalles

Base de Datos SQL Server. create database CRUD; use CRUD;

Base de Datos SQL Server. create database CRUD; use CRUD; Base de Datos SQL Server create database CRUD; use CRUD; create table EMPLEADOS ( NOMBRE varchar(20), USUARIO varchar(15) not null, CONTRASEÑA varchar(6) not null, ROL varchar (15) not null, primary key

Más detalles

UNIVERSIDAD DISTRITAL FRANCSICO JOSE DE CALDAS FACULTAD DE INGENIERIA INGENIERIA DE SISTEMAS PROGRAMACION AVANZADA TALLER DE CONEXIÓN A BASES DE DATOS

UNIVERSIDAD DISTRITAL FRANCSICO JOSE DE CALDAS FACULTAD DE INGENIERIA INGENIERIA DE SISTEMAS PROGRAMACION AVANZADA TALLER DE CONEXIÓN A BASES DE DATOS TALLER DE CONEXIÓN A BASES DE DATOS 1. Cree un nuevo proyecto Java Aplication 2. Descargue el respectivo driver para conectarse a una BD Derby. El driver JDBC para Derby: derbyclient.jar 3. Agregue el

Más detalles

Como crear un servicio web con MVC, WCF por medio de capas conectando con una BD. (Paso a Paso)

Como crear un servicio web con MVC, WCF por medio de capas conectando con una BD. (Paso a Paso) Como crear un servicio web con MVC, WCF por medio de capas conectando con una BD. (Paso a Paso) Primero resuelve el problema. Entonces, escribe el código. John Johnson Todo programa hace algo perfectamente

Más detalles

Creación de proyectos usando Java/MySQL

Creación de proyectos usando Java/MySQL Creación de proyectos usando Java/MySQL 1 Configuración de la Base de Datos 1.1 Instalación de la base de datos MySQL (Linux-Ubuntu) Para instalar la base de datos MySQL en ambiente Linux (Ubuntu) siga

Más detalles

Bases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 2013

Bases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 2013 Bases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 203 Enunciado del ejercicio En los servidores de bases de asignados al curso: Sybase, MS SQL Server y Oracle, elaborar el ejercicio sobre aislamiento,

Más detalles

Programación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV

Programación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV En esta guía: Programación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV Clases de Acceso a datos ADO.Net en System.Data.SqlClient... 1 SqlConnection... 1 SqlCommand... 2 SqlDataAdapter... 3 Controles

Más detalles

Tema: Introducción al IDE de Microsoft Visual C#.

Tema: Introducción al IDE de Microsoft Visual C#. Tema: Introducción al IDE de Microsoft Visual C#. Objetivos: El propósito de este tema es que el alumno se familiarice con el entorno de desarrollo de Visual C# Express mientras crea el formulario más

Más detalles

Gestión de la Información Práctica 1

Gestión de la Información Práctica 1 Gestión de la Información Práctica 1 Departamento de Lenguajes y Ciencias de la Computación UNIVERSIDAD DE MÁLAGA SQL - Server SQL Server 2008 es la base datos cliente-servidor de Microsoft. Su lenguaje

Más detalles

Entendiendo LINQ (Language Integrated Query) con C# y Mono

Entendiendo LINQ (Language Integrated Query) con C# y Mono Entendiendo LINQ (Language Integrated Query) con C# y Mono L.I.S. Martín Márquez Introducción Hoy día es común encontrar aplicaciones en las cuales hay una necesidad de reemplazar o

Más detalles

Como conectar SQL Server con C#?

Como conectar SQL Server con C#? MENU Inicio Desarrollo Android Datos Como conectar SQL Server con C#? Como conectar SQL Server con C#? James Revelo julio 4, 2014 Datos 4 Comments Conectar nuestras aplicaciones C# a una base de datos

Más detalles

EVALUACIÓN. Programa de trabajador

EVALUACIÓN. Programa de trabajador EVALUACIÓN Programa de trabajador Universidad Tecnológica de Puebla Tecnologías de la información y comunicación Programación 2 D Marco Antonio Marín Fernández Planteamiento Se desea visualizar el incremento

Más detalles

Día 2: Utilizando controles de datos en Visual Studio 2008.

Día 2: Utilizando controles de datos en Visual Studio 2008. Día 2: Utilizando controles de datos en Visual Studio 2008. Requerimientos de este laboratorio: Base de datos creada en el laboratorio 1 en SQL SERVER. Visual Studio 2008 *Nota: Si usted cuenta con el

Más detalles

Taller: Introducción a Windows Communication Foundation

Taller: Introducción a Windows Communication Foundation Taller: Introducción a Windows Communication Foundation Autor: Carlos Milán Figueredo Nivel: 100 (Principiante) Pre-requisitos: Visual Studio 2008 Email: cmilanf@dotnetclubs.com Web: http://www.dotnetclubs.com

Más detalles

I.- Objetivo. II.- Introducción

I.- Objetivo. II.- Introducción FACULTAD DE INGENIERÍA MECÁNICA Y ELÉCTRICA PROGRAMACIÓN VISUAL Profr. Víctor Castillo PRÁCTICA No. 8 Creación de una conexión de datos usando acceso no conectado con ADO.NET ALUMNO: GRUPO: I.- Objetivo

Más detalles

GUÍA DE TRABAJO N 7 LENGUAJE C# Educación Media Fortalecida Programación de Software Grado 11 Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8

GUÍA DE TRABAJO N 7 LENGUAJE C# Educación Media Fortalecida Programación de Software Grado 11 Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8 Página 1 de 8 TEMA: FORM DE INICIO, FORM DE SEGURIDAD Y CARGUE DE LISTADOS EN COMBOBOX USANDO EL LENGUAJE C# Objetivo: Programar ingreso a una aplicación realizando verificación de usuarios/contraseñas

Más detalles

ADO.NET con Base de datos SQL Server

ADO.NET con Base de datos SQL Server ADO.NET con Base de datos SQL Server 1. Modelo de objetos ADO.NET ADO.NET es un conjunto de librerías orientadas a objetos que permiten inteactuar con el origen de datos (data source). El origen de datos

Más detalles

Java y Access. 4. En nuestra pantalla aparecerá ahora la pestaña DSN usuario seleccionada. Para crear un nuevo perfil haremos click en Agregar...

Java y Access. 4. En nuestra pantalla aparecerá ahora la pestaña DSN usuario seleccionada. Para crear un nuevo perfil haremos click en Agregar... Java y Access La capacidad para acceder a bases de datos desde Java la ofrece la API JDBC (Java DataBase Conectivity). JDBC es un estándar para manejar bases de datos en Java. ODBC es un estándar de Windows

Más detalles

Tema: Conexión a Base de Datos.

Tema: Conexión a Base de Datos. Sistemas Expertos e Inteligencia Artificial. Guía 6B 1 Tema: Conexión a Base de Datos. Facultad: Ingeniería Escuela: Computación Asignatura: Sistemas Expertos e Inteligencia Artificial Objetivo Específico

Más detalles

GUÍA DE TRABAJO GRADO 11 Programación de. Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8

GUÍA DE TRABAJO GRADO 11 Programación de. Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8 Página 1 de 8 TEMA: FORM DE INICIO, SEGURIDAD Y LISTADOS EN COMBOX - LENGUAJE C# Objetivo: Programar el ingreso a una aplicación realizando verificación de usuarios /contraseñas y cargar listados de desde

Más detalles

Entendiendo ADO.NET con Mono y PostgreSQL (III)

Entendiendo ADO.NET con Mono y PostgreSQL (III) Entendiendo ADO.NET con Mono y PostgreSQL (III) por Martín Márquez xomalli@gmail.com Introducción ADO.NET es la evolución de la tecnología ADO (Active X Data Objects) que permite la comunicación de aplicaciones

Más detalles

TEMA 7. PROVEEDORES Y CONEXIÓN A BASES DE DATOS

TEMA 7. PROVEEDORES Y CONEXIÓN A BASES DE DATOS TEMA 7. PROVEEDORES Y CONEXIÓN A BASES DE DATOS 7.1. PROVEEDORES MÁS HABITUALES Anteriormente ya hemos mencionado cuáles son los proveedores de datos de.net Framework más habituales. A continuación haremos

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACIÓN

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACIÓN UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACIÓN CICLO: 02/2015 GUIA DE LABORATORIO #11 Nombre de la Práctica: Aplicaciones en capas en ASP.NET Lugar de Ejecución: Centro

Más detalles

GOBIERNO DEL PRINCIPADO DE ASTURIAS VICECONSEJERÍA DE PRESUPUESTOS Y ADMINISTRACIÓN PÚBLICA

GOBIERNO DEL PRINCIPADO DE ASTURIAS VICECONSEJERÍA DE PRESUPUESTOS Y ADMINISTRACIÓN PÚBLICA MODULO COMÚN DE ALMACENAMIENTO TEMPORAL DE SOLICITUDES (MCAT) MANUAL DE USO Página 2 de 37 ÍNDICE ÍNDICE...2 1. CONTROL DEL DOCUMENTO...3 1.1. HISTÓRICO DE REVISIONES...3 2. INTRODUCCIÓN...4 3. CLASES

Más detalles

Práctica sobre compartición de instancias remotas.

Práctica sobre compartición de instancias remotas. Práctica sobre compartición de instancias remotas. Para esta práctica se ha construido un pequeño sistema cliente-servidor que permite la resolución de Sudokus entre varios jugadores. El servidor consta

Más detalles

Guia#12: Tema: Archivos en C#.

Guia#12: Tema: Archivos en C#. Guia#12: Tema: Archivos en C#. Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Objetivos Conocer la forma de transferencia de información en C#. Aprender las operaciones

Más detalles

Célula UABC-Live.net. Universidad Autónoma. de Baja California. Facultad de Ciencias Químicas. e Ingeniería. http://uabc-live-net.spaces.live.

Célula UABC-Live.net. Universidad Autónoma. de Baja California. Facultad de Ciencias Químicas. e Ingeniería. http://uabc-live-net.spaces.live. Célula Académica UABC-Live.net Universidad Autónoma de Baja California Facultad de Ciencias Químicas e Ingeniería http://uabc-live-net.spaces.live.com/ Sesión n No. 3 Acceso a Datos avanzado Expositores:

Más detalles

GUÍA DE TRABAJO GRADO 11. Articulación SENA Programación de Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

GUÍA DE TRABAJO GRADO 11. Articulación SENA Programación de Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6 Página 1 de 6 Tema: PROCEDIMIENTOS ALMACENADOS SQL SERVER Objetivo: Adquirir los conocimientos necesarios para desarrollar e implementar procedimientos almacenados utilizando SQL Server y lenguaje C# I.

Más detalles

GALA. ADO Modo Conectado. Modelo de Base de Datos Relacional. m018a Curso Manejo de Datos con Visual Basic 2010, 24 h

GALA. ADO Modo Conectado. Modelo de Base de Datos Relacional. m018a Curso Manejo de Datos con Visual Basic 2010, 24 h Modelo de Base de Datos Relacional Registros, Campos y Claves Comandos SQL, Definición de Datos Create Table Alter Table Drop Table Comandos SQL, Manipulación de Datos Consultas, Select From Where Actualizaciones,

Más detalles

Trabajando con bases de datos. ClaseOracleBD

Trabajando con bases de datos. ClaseOracleBD Trabajando con bases de datos. ClaseOracleBD Índice de contenido Archivo de configuración...1 Agregar una cadena de conexión a Web.config con un control de origen de datos...1 Utlizando un Control SQLDataSource...1

Más detalles

Tema: Métodos de Ordenamiento. Parte 1.

Tema: Métodos de Ordenamiento. Parte 1. Programación IV. Guía 2. 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Métodos de Ordenamiento. Parte 1. Objetivos Específicos Identificar la estructura de algunos algoritmos

Más detalles

Un proyecto de IBM llamado Sistem/R construye un prototipo simple llamado SQUARE que después se transformó en SQL.

Un proyecto de IBM llamado Sistem/R construye un prototipo simple llamado SQUARE que después se transformó en SQL. CONTENIDO: 1. Lenguaje SQL 1. Componentes 2. Comandos 3. Clausulas 4. Operadores lógicos 5. Operadores de comparación 6. Funciones de agregado 2. MYSQL 1. Como entrar a MySQL 2. Comandos generales 3. Sintaxis

Más detalles

Los procedimientos almacenados son nuevas funcionalidades de la versión de MySQL 5.0. Un procedimiento

Los procedimientos almacenados son nuevas funcionalidades de la versión de MySQL 5.0. Un procedimiento PROCEDIMIENTOS ALMACENADOS Los procedimientos almacenados son nuevas funcionalidades de la versión de MySQL 5.0. Un procedimiento almacenado es un conjunto de comandos SQL que pueden almacenarse en el

Más detalles

BENEMERITA UNIVERSIDADD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN

BENEMERITA UNIVERSIDADD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN BENEMERITA UNIVERSIDADD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN PROGRAMACION CONCURRENTE PARALELA Y PRACTICA 3 (PARTE 1 Y 2) HILOS POSIX NOMBRE:

Más detalles

Manejo de Bases de Datos Mysql en Lenguaje C

Manejo de Bases de Datos Mysql en Lenguaje C http://undersecurity.net Servidor irc : irc.ircnode.com Canal irc : #undersec Manejo de Bases de Datos Mysql en Lenguaje C By: S[e]C Entendiendo el tratamiento de una base de datos MySQL. Antes de ir al

Más detalles

INSERCIÓN DE UN REGISTRO CON PHP Y MYSQL

INSERCIÓN DE UN REGISTRO CON PHP Y MYSQL INSERCIÓN DE UN REGISTRO CON PHP Y MYSQL Para poder realizar este ejercicio necesitamos la base de datos, para esto abriremos el gestor de bases de datos Mysql Empezaremos con crear la base de datos con

Más detalles

Agenda..NET C# Laboratorio #1

Agenda..NET C# Laboratorio #1 PROGRAMACIÓN III Agenda.NET C# Laboratorio #1 .NET Qué es.net? Una arquitectura tecnológica para la creación y distribución de software como servicio. Servicio en cualquier plataforma, cliente en cualquier

Más detalles

Visual Basic.NET : Acceso a Datos

Visual Basic.NET : Acceso a Datos Visual Basic.NET : Acceso a Datos Para el acceso a datos desde Visual Basic se utiliza el nuevo modelo de acceso a datos que proporciona la plataforma.net FrameWork : ADO.NET. Basicamente, se implementarán

Más detalles

TUTORIAL CONEXIÓN SQLSERVER CON JAVA DESDE ECLIPSE

TUTORIAL CONEXIÓN SQLSERVER CON JAVA DESDE ECLIPSE TUTORIAL CONEXIÓN SQLSERVER CON JAVA DESDE ECLIPSE En este tutorial se seguirán los pasos para realizar conexión desde una aplicación en java desde eclipse con una base de datos en SQLSERVER 2005. Tecnología

Más detalles

Acceso a Base de Datos

Acceso a Base de Datos Acceso a Base de Datos Diseño y Programación Avanzada de Aplicaciones Curso 2002-2003 Indice ADO.Net ADO.Net ofrece dos espacios de nombres de clientes Uno para SQL Server Bases de Datos con interfaz Ole

Más detalles

Aprender los conceptos, manejo, usos y aplicación de heaps a fin de utilizarlos para el desarrollo de aplicaciones

Aprender los conceptos, manejo, usos y aplicación de heaps a fin de utilizarlos para el desarrollo de aplicaciones Programación III, Guía 12 1 Facultad : Ingeniería Escuela : Computación Asignatura: Programación III Tema: HEAPS. Objetivo Aprender los conceptos, manejo, usos y aplicación de heaps a fin de utilizarlos

Más detalles

Fundamentos de Programación CAPÍTULO 3 EL LENGUAJE C# Ing. Bruno López Takeyas, M.C. 1

Fundamentos de Programación CAPÍTULO 3 EL LENGUAJE C# Ing. Bruno López Takeyas, M.C.  1 CAPÍTULO 3 EL LENGUAJE C# 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Qué es el framework.net? Cómo está organizado? Para qué sirve? Cuál es la herramienta de software necesaria para

Más detalles

k. Son métodos de la clases y respectivamente, que analiza un para devolver un entero con

k. Son métodos de la clases y respectivamente, que analiza un para devolver un entero con La multiplicación de matrices bidimensionales se puede realizar mediante el uso de hilos. Desde un hilo de ejecución, se pueden crear varios hilos, uno por cada entrada de la matriz resultante. Dos sentencias

Más detalles

SEGURIDAD EN LAS BASES DE DATOS

SEGURIDAD EN LAS BASES DE DATOS SEGURIDAD EN LAS BASES DE DATOS DEFINICIÓN DE UN ESQUEMA DE SEGURIDAD Al concepto de seguridad también se le puede llamar privacidad. El problema de la seguridad consiste en lograr que los recursos de

Más detalles

Tema: DESARROLLO DE APLICACIONES CON VISUAL STUDIO-NET (PARTE I)

Tema: DESARROLLO DE APLICACIONES CON VISUAL STUDIO-NET (PARTE I) Base de datos I. Guía 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: DESARROLLO DE APLICACIONES CON VISUAL STUDIO-NET (PARTE I) Objetivo Conocer el lenguaje de programación

Más detalles

APÉNDICE A: ACCESO A UNA BASE DE DATOS CON JDBC

APÉNDICE A: ACCESO A UNA BASE DE DATOS CON JDBC APÉNDICE A: ACCESO A UNA BASE DE DATOS CON JDBC Lo primero que hay que saber es que la manera más conveniente de acceder a una base de datos utilizando el lenguaje de programación JAVA, es a través del

Más detalles

Tema: Estructuras de Selección en C#.

Tema: Estructuras de Selección en C#. Programación I, Guía 4 1 Tema: Estructuras de Selección en C#. Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Objetivos Utilizar las instrucciones de selección if e

Más detalles

Mecanismos de acceso a datos usando ADO.NET

Mecanismos de acceso a datos usando ADO.NET Mecanismos de acceso a datos usando ADO.NET En esta sesión Veremos conceptos de ADO.NET para acceso a datos, con ejemplos de uso en aplicaciones ASP.NET Agenda Modelo de objetos de ADO.NET Introducción

Más detalles

Práctica No. 3. Operaciones Básicas con Hibernate Actualizar y Eliminar

Práctica No. 3. Operaciones Básicas con Hibernate Actualizar y Eliminar Práctica No. 3. Operaciones Básicas con Hibernate Actualizar y Eliminar En esta práctica se trabajarán las actividades para actualizar y eliminar con llave primaria. Preparación del Entorno Abrir el entorno

Más detalles

Vamos a definir ambos modos y después veremos, mediante sendos ejemplos, cómo trabajar en ellos con ADO.NET.

Vamos a definir ambos modos y después veremos, mediante sendos ejemplos, cómo trabajar en ellos con ADO.NET. TEMA 8. MODOS DE ACCESO A DATOS 8.1. DISTINTOS MODOS DE ACCESO EN ADO.NET Después de haber estudiado los principales objetos involucrados en el acceso a bases de datos, vamos a tratar más en profundidad

Más detalles

Ing Eddy Ruiz Largaespada

Ing Eddy Ruiz Largaespada Tema 4:Acceso Datos Objetivos: Brindar los conocimientos para poder enlazar aplicaciones Windows a bases de datos, independientemente del proveedor. Diseñar aplicaciones que permitan la manipulación de

Más detalles

3.- Desarrollo e implementación del sistema.

3.- Desarrollo e implementación del sistema. 3.- Desarrollo e implementación del sistema. 3.1.- Funcionalidad de entrar al sistema Para poder acceder al sistema el alumno tendrá que escribir su nombre de usuario y su password, a continuación se muestra

Más detalles

Ingeniería en Desarrollo de software Cuatrimestre 07. Asignatura: Programación.NET 1. Clave:

Ingeniería en Desarrollo de software Cuatrimestre 07. Asignatura: Programación.NET 1. Clave: Ingeniería en Desarrollo de software Cuatrimestre 07 Asignatura: Programación.NET 1 Clave: 150930726 Actividades de la unidad 1 1 Actividad 1. Métodos En la presente actividad socializarás los contenidos

Más detalles

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2008/2009 Nombre:... Fecha: / 01 / 2009 HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Esta hoja de ejercicios nos servirá

Más detalles

Errores que rompen la Regla de integridad de las entidades y el DBMS reporta un error.

Errores que rompen la Regla de integridad de las entidades y el DBMS reporta un error. Capítulo 20 Bases de datos: SQL y ADO.NET Base de Datos: colección organizada de datos. DBMS: Sistema para almacenar, organizar, recuperar y modificar datos. RDBMS (Sistemas de administración de bases

Más detalles

Acceso a BDs en Java: JDBC

Acceso a BDs en Java: JDBC Acceso a BDs en Java: JDBC Bases de Datos II 1 Introducción Para hacer una aplicación de BDs en Java se necesita disponer del driver adecuado para el SGBD. En nuestro caso necesitamos el de mysql. http://dev.mysql.com/downloads/connector/j/3.0.html

Más detalles

Prácticas Ingeniería del Software 3º

Prácticas Ingeniería del Software 3º Prácticas Ingeniería del Software 3º JDBC JAVA con Bases de Datos UNIVERSIDAD DE CASTILLA-LA MANCHA ES de Informática de Ciudad Real Introducción JDBC es una especificación de un conjunto de clases y métodos

Más detalles

Introducción a SQL (DDL)

Introducción a SQL (DDL) Introducción a SQL (DDL) Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2012 Introducción a SQL Objetivos de este tema

Más detalles

Manual de Sentencias Básicas en SQL

Manual de Sentencias Básicas en SQL Manual de Sentencias Básicas en SQL Pues hoy que he estado enredando un rato con MySQl, y me he acordado de aquellos comienzos en los que tenía que volver a mis antiguos apuntes para lograr entender las

Más detalles

PHP y Acceso a Datos

PHP y Acceso a Datos PDO PHP y Acceso a Datos Departamento de Lenguajes y Sistemas Informáticos Grupo de Ingeniería del Software Introducción PDO SQL es el lenguaje común para trabajar con todas las BD Las interfaces que los

Más detalles

PHP Programming. Learn how PHP works Learn the basic syntax of PHP Learn to create dynamic interactive pages with PHP

PHP Programming. Learn how PHP works Learn the basic syntax of PHP Learn to create dynamic interactive pages with PHP PHP Programming Duration: 20 hours Overview: In this PHP training course, students will learn to create database-driven websites using PHP and MySQL or the database of their choice and to use advanced

Más detalles

VISUAL BASIC.NET. NIVEL COMPLETO

VISUAL BASIC.NET. NIVEL COMPLETO VISUAL BASIC.NET. NIVEL COMPLETO DESCRIPCIÓN Visual Basic es hoy en día uno de los lenguajes de programación más populares del mundo. A principios de los años 90 Microsoft revoluciono el desarrollo de

Más detalles

Unidad IV. Aplicaciones sobre Base de Datos

Unidad IV. Aplicaciones sobre Base de Datos Clase:013 1 Unidad IV Aplicaciones sobre Base de Datos 2 Agenda PROGRAMA DE MANIPULACION DE BASE ANDROID SQLITE SQLITE OpenHelper SQLITE Database Cursor Ejemplos Agregar controles según campo Usar query

Más detalles

Consideremos el siguiente ejemplo que crea y se inserta en las tablas que definen la identidad basada en la clave principal como un índice agrupado:

Consideremos el siguiente ejemplo que crea y se inserta en las tablas que definen la identidad basada en la clave principal como un índice agrupado: Problema Estoy diseñando una mesa y me he decidido a crear un auto-generado valor de clave principal en lugar de crear mi propio plan o con las teclas naturales. Veo que SQL Server ofrece identificadores

Más detalles

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; } PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)

Más detalles

c) Explicar qué es un BreakPoint en Netbeans y para qué sirve. 0,5 punto

c) Explicar qué es un BreakPoint en Netbeans y para qué sirve. 0,5 punto Examen de Programación (13294) Convocatoria de Junio 2008 Licenciatura de Lingüística y Nuevas Tecnologías Pregunta 1 a) Explicar qué es un NullPointerException ( por qué ocurre? cuando se produce?). Dar

Más detalles

Trabajos de Ampliación. Bases de datos NoSQL.

Trabajos de Ampliación. Bases de datos NoSQL. BASES DE DATOS NoSql Son bases de datos pensadas para aplicaciones que hagan un uso intensivo de la misma. Estas bases de datos permiten una mayor flexibilidad y facilidad a la hora de introducir los datos

Más detalles

Automatización Industrial

Automatización Industrial ESCUELA SUPERIOR DE INFORMÁTICA UNIVERSIDAD DE CASILLA-LA MANCHA Automatización Industrial Programación de la Interfaz FTI con C# Tercera práctica Jose Domingo López López josed.lopez1@alu.uclm.es Raúl

Más detalles

1. Se usará la Base de Datos llamada. 2. Borrar la tabla CtasBanc anterior y crearla: 5.1 Procedimientos y Funciones Almacenados SQL Server

1. Se usará la Base de Datos llamada. 2. Borrar la tabla CtasBanc anterior y crearla: 5.1 Procedimientos y Funciones Almacenados SQL Server SQL Server 1. Se usará la Base de Datos llamada LaConsentida. use LaConsentida 2. Borrar la tabla CtasBanc anterior y crearla: create table CtasBanc (IdCuenta int identity primary key, tipo char(10), saldo

Más detalles

Tema 4. DML (Parte I)

Tema 4. DML (Parte I) Tema 4 DML (Parte I) IES Francisco Romero Vargas Departamento de Informática Tema 4. DML (I). Página 1 de 9 1. Introducción Un Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un

Más detalles