Documente Academic
Documente Profesional
Documente Cultură
Microsoft SQL Server es un sistema de manejo de bases de datos del modelo relacional, desarrollado por la
empresa Microsoft.
El lenguaje de desarrollo utilizado (por lnea de comandos o mediante la interfaz grfica de Management Studio)
es Transact-SQL (TSQL), una implementacin del estndar ANSI del lenguaje SQL, utilizado para manipular y
recuperar datos (DML), crear tablas y definir relaciones entre ellas (DDL).
Dentro de los competidores ms destacados de SQL Server estn: Oracle, MariaDB, MySQL, PostgreSQL. SQL
Server solo est disponible para sistemas operativos Windows de Microsoft.
Puede ser configurado para utilizar varias instancias en el mismo servidor fsico, la primera instalacin lleva
generalmente el nombre del servidor, y las siguientes - nombres especficos (con un guion invertido entre el nombre
del servidor y el nombre de la instalacin).
Caractersticas.
Soporte de transacciones.
En cada instalacin de SQL Server hay 4 bases de datos de sistema, y la capacidad de crear nuevas bases de
datos por el usuario, en los cuales los datos estn almacenados en tablas.
Estas bases de datos, creadas por parte de los usuarios, incluyen bsicamente un archivo de datos (con el sufijo
mdf) con las tablas y los distintos objetos a nivel de la base de datos; y un archivo de registro (con el sufijo ldf) con
las transacciones abiertas, y transacciones cerradas, Sujeto al modelo de recuperacin seleccionado (se puede
acumular en el archivo de registro todos los cambios en la base de datos desde el ltimo respaldo). Se puede crear
un conjunto de archivos de datos adems del principal (con el sufijo ndf) por consideraciones de eficiencia,
particin de carga de trabajo entre los discos rgidos, etc.
master - Todos los procedimientos, funciones y tablas del sistema que estn utilizadas por parte de todas
las bases de datos y que estn instaladas automticamente, tanto como las que han sido creado por parte de
los administradores del sistema. Adems, todas las definiciones en respecto a la seguridad a nivel del servidor,
estn almacenadas en esta base de datos.
msdb - Almacenamiento de las tareas del agente, los cdigos de CLR combinados en el sistema, los
paquetes de SSIS, y otros ms.
model - El molde de las bases de datos. Cada nueva base de datos se crea como una copia de esta base
de datos, menos que algo ms estaba definido explcitamente.
tempdb - Base de datos temporal que se crea de nuevo cada vez que el servicio reinicia. Se utiliza para
almacenar tablas temporales creadas por parte de los usuarios o el sistema (por ejemplo en ordenaciones
complejos).
Tipos de datos:
Para cada columna en una tabla y a cada variable o parmetro, se define un tipo de datos que sean almacenados
en l, entre ellos:
1. Nmeros: Nmeros enteros y no enteros en distintos tamaos, y en diferentes niveles de precisin; y auto
incremento opcional.
3. Fechas: Fechas en distintos niveles de precisin, desde das completos hasta fracciones menores de un
segundo, que apoyan fechas a partir del principio del siglo 20 o del calendario gregoriano, y la capacidad
de diferenciar entre distintos usos de horarios.
4. XML: Datos textuales (cadenas) que representan conjuntos estndares de datos (estndar SGML).
5. Datos binarios: Datos almacenados como datos binarios (bits y bytes), que posibilitan el almacenamiento
de archivos grficos, etc.
6. Geography: Representacin estndar de informacin geogrfica, tales como estados, zonas geogrficas,
localidades; y las clculos como distancias.
7. Geometry: Representacin estndar de puntas, lneas, superficies en el plano; y las relaciones entre ellas.
8. Hierarchid: Representacin estndar de informacin jerrquica como lista de materiales, relaciones de
subordinacin entre empleados, etc.
Cmo de instala?.
1. Para iniciar la instalacin, haga doble clic en sqlexpr.exe.
Nota:
SQL Server Express est disponible como un archivo ejecutable autoextrable (sqlexpr.exe) desde el
CD de Visual Studio 2005 y desde el sitio Web de SQL Server Express. SQLEXPR.EXE se instala en
equipos basados en x86 y en el subsistema de 32 bits (WOW64). Para obtener ms informacin,
vea Requisitos de hardware y de software (SQL Server Express).
2. En la pgina Contrato de licencia para el usuario final, lea el contrato de licencia y, a continuacin,
active la casilla Acepto los trminos y condiciones de la licencia. Haga clic en Siguiente.
3. Se ejecutar la Actualizacin de componentes de SQL Server para instalar el software
necesario antes de instalar SQL Server Express. Para obtener ms informacin acerca de los
requisitos de los componentes, haga clic en el botn Ayuda en la parte inferior de la pgina. Haga
clic en Siguiente.
Importante:
.NET Framework 2.0 no se instala cuando se ejecuta la Actualizacin de componentes de SQL Server, pero
el programa de instalacin de SQL Server Express necesita que .NET Framework 2.0 est instalado antes de
ejecutar el archivo sqlexpr.exe. Si .NET Framework 2.0 no est instalado, se producir un error. Asegrese de
desinstalar todas las versiones anteriores de .NET Framework y de instalar .NET Framework 2.0. Desde
el Centro de descarga de .NET Framework 2.0 antes de iniciar el programa de instalacin de SQL Server
Express.
4. Se abrir la pgina Asistente para la instalacin de Microsoft SQL Server. Haga clic en Siguiente.
5. En la pgina Comprobacin de configuracin del sistema, se examina el equipo para detectar
posibles problemas de instalacin. Para interrumpir la exploracin, haga clic en Detener. Para
continuar el programa de instalacin una vez finalizada la exploracin, haga clic en Continuar.
6. En la pgina Informacin de registro, escriba informacin en los cuadros de
texto Nombre y Compaa. Haga clic en Siguiente.
a. Debido a que SQL Server Express es gratuito, no aparece el cuadro de texto Clave de
producto en esta pgina.
7. En la pgina Seleccin de caractersticas, seleccione las caractersticas del programa que desee
instalar y haga clic en Siguiente.
Nota:
El programa de instalacin de SQL Server Express no tiene una pgina de seleccin de caractersticas
personalizadas. En su lugar, la pgina Seleccin de caractersticas permite seleccionar las caractersticas que
desee instalar. Puede expandir una caracterstica para ver las subcaractersticas que contiene; para ello, haga
clic en el signo "+".
9. La pgina Cuenta de servicio permite asignar una cuenta del sistema local o una cuenta de
usuario de dominio al servicio de SQL Server. Esta pgina no aparece si selecciona la
casilla Ocultar opciones de configuracin avanzadas
a. Seleccione Utilizar la cuenta del sistema local, que no necesita una contrasea para
conectarse a SQL Server en el mismo equipo y, a continuacin, haga clic en Siguiente.
Nota:
La casilla de verificacin Iniciar los servicios cuando finalice la instalacin est activada de forma
predeterminada para SQL Server Express. Esta opcin inicia automticamente el servicio de SQL Server
iniciar el sistema operativo.
10. En la pgina Modo de autenticacin, especifique el modo de seguridad que utiliza para
conectarse a la instancia de SQL Server. Si selecciona Autenticacin de Windows, el programa de
instalacin crear una cuenta sa que estar deshabilitada de manera predeterminada. Para activar
la cuenta sa despus de finalizar la instalacin, vea los temas Cmo cambiar el modo de
autenticacin del servidor y ALTER LOGIN (Transact-SQL) en los Libros en pantalla de SQL Server
2005. Si selecciona Autenticacin de modo mixto, debe definir contraseas seguras para todos los
inicios de sesin de SQL Server. Escriba y confirme una contrasea de inicio de sesin de sa segura.
Haga clic en Siguiente.
Importante:
Por motivos de seguridad, SQL Server Express no inicia automticamente el servicio Explorador de SQL
Server. Si sus aplicaciones tienen que utilizar este servicio, debe iniciarlo manualmente o cambiar la opcin
de inicio. Para obtener ms informacin, vea Servicio Explorador SQL Server Cmo iniciar y detener el
servicio Explorador de SQL Server, en los Libros en pantalla de SQL Server 2005.
Nota:
El cuadro Personalizar para cada cuenta de servicio se ha quitado porque en SQL Server Express, el
servicio siempre debe sealar a SQL Server.
12. En la pgina Instancias de usuario, especifique si desea generar una instancia independiente del
motor de base de datos para usuarios que no sean administradores. De forma predeterminada, la
funcionalidad de instancia de usuario est habilitada. Para desactivar las instancias de usuario,
desactive la casilla de verificacin. Esta pgina no aparece si activa la casilla de
verificacin Ocultar opciones de configuracin avanzadas. Haga clic en Siguiente.
13. En la pgina Configuracin de informes de errores y uso, seleccione si desea activar los
informes de errores y uso para SQL Server y sus componentes. Los informes de errores estn
activados de manera predeterminada. Para desactivar los informes de errores, desactive la casilla
de verificacin. Haga clic en Siguiente.
14. En la pgina Preparado para instalar, haga clic en Instalar para finalizar la instalacin de SQL
Server.
15. En la pgina Progreso de la instalacin, puede supervisar el progreso de la instalacin a medida
que contina el programa de instalacin. Haga clic en Siguiente.
16. En la pgina Finalizacin del Asistente para la instalacin de Microsoft SQL Server, puede
ver el registro resumen de la instalacin haciendo clic en el vnculo que se proporciona en esta
pgina. Para finalizar el Asistente para la instalacin de SQL Server, haga clic en Finalizar.
Adems de utilizar la interfaz grfica de usuario, puede instalar SQL Server Express con los mismos
parmetros de la lnea de comandos que se utilizan para instalar SQL Server 2005. Para obtener ms
informacin acerca de los parmetros de la lnea de comandos, vea "Ejecutar el programa de instalacin
desde el smbolo del sistema" en los Libros en pantalla de SQL Server 2005.
SQL Server Express tambin admite la propiedad DISABLENETWORKPROTOCOLS para habilitar el acceso
de red durante la instalacin. Para obtener ms informacin, vea Cmo habilitar el acceso a la red durante
la instalacin (SQL Server Express).
Conexin de Visual Basic y SQLServer.
Imports System.Data
Imports System.Data.SqlClient
'Este metodo recibe como parametro la consulta completa y sirve para hacer INSERT, UPDATE Y DELETE
conexion.ConnectionString = str_conexion
cmd = New SqlCommand(consulta, conexion)
conexion.Open()
Try
cmd.ExecuteNonQuery()
'Este metodo recibe como parametro la consulta completa y sirve para hacer SELECT
Dim dt As New DataTable
conexion.ConnectionString = str_conexion
cmd = New SqlCommand(consulta, conexion)
conexion.Open()
Try
dt.Load(cmd.ExecuteReader())
Catch ex As Exception
MsgBox("Error al operar con la base de datos!", MsgBoxStyle.Critical, "Error!" )
End Try
conexion.Close()
Return dt
End Function
Public Sub cargar_lista(ByRef lista As ListBox, ByVal consulta As String, ByVal valueMember As String, ByVal
displayMember As String)
Dim dt As New Data.DataTable
conexion.ConnectionString = str_conexion
cmd = New SqlCommand(consulta, conexion)
conexion.Open()
Try
dt.Load(cmd.ExecuteReader())
lista.DataSource = dt
lista.ValueMember = valueMember
lista.DisplayMember = displayMember
Catch ex As Exception
MsgBox("Error al operar con la base de datos!", MsgBoxStyle.Critical, "Error!" )
End Try
conexion.Close()
End Sub
Public Sub cargar_combo(ByRef combo As ComboBox, ByVal consulta As String, ByVal valueMember As String,
ByVal displayMember As String)
Dim dt As New DataTable
conexion.ConnectionString = str_conexion
cmd = New SqlCommand(consulta, conexion)
conexion.Open()
Try
dt.Load(cmd.ExecuteReader())
combo.DataSource = dt
combo.ValueMember = valueMember
combo.DisplayMember = displayMember
Catch ex As Exception
MsgBox("Error al operar con la base de datos!", MsgBoxStyle.Critical, "Error!" )
End Try
conexion.Close()
End Sub
'Devuelve true si existe, entonces no grabamos, o devuelve false si no existe entoinces debemos grabar.
Dim dt As New DataTable
conexion.ConnectionString = str_conexion
cmd = New SqlCommand(consulta, conexion)
conexion.Open()
Try
dt.Load(cmd.ExecuteReader())
Catch ex As Exception
MsgBox("Error al operar con la base de datos!", MsgBoxStyle.Critical, "Error!" )
End Try
conexion.Close()
End Class
Para la generacin de PDF, utilizaremos una librera Open Source llamada iTextSharp que pueden obtener
desde:
http://itextsharp.sourceforge.net
Una vez que hayamos bajado el fuente o el instalador de la librera, en nuestra aplicacin tenemos que
hacer referencia al proyecto o, si lo instalamos ya compilado, a la dll que se ha incorporado en el GAC.
using System;
using System.IO;
using System.Xml;
using System.Reflection;
using System.Data;
using System.Data.SqlClient;
Los nicos que no hemos utilizado nunca son los de la librera que acabamos de referenciar
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.xml;
Este ltimo nos permite generar el PDF directamente desde un archivo xml, pero nosotros lo vamos a
hacer en el aire.
namespace PDFApp
{
Vamos a definir y una clase con un mtodo esttico que traiga los datos desde SQLServer y los devuelva
a nuestra aplicacin como un documento DOM XML para que podamos generar nuestro archivo de
resultado.
Nuestro mtodo en cuestin esta sobrecargado por si necesitamos trabajar con transacciones (ya que
estamos en el baile, bailemos).
Aqu empieza lo bueno, vamos a definir nuestra clase con el entry point de la aplicacin y generamos el
PDF con los resultados.
class Consola
{
[STAThread]
static void main(string [] args)
{
A continuacin, creamos un objeto document con el tamao de la pagina y sus mrgenes, expresados en
floats
// *******************************************************
// Generacin del documento, aplicando los margenes
// *******************************************************
Document document = new Document(PageSize.A4, 90f, 50f, 90f, 60f);
try
{
Hay que notar que es muy importante que la consulta desde el motor devuelva XML, para eso inclu en el
SQL "FOR XML RAW" para que nuestro amigo SQL Server nos regale los resultados como queremos, asi la
clase anterior entiende de que estamos hablando.
cmd.Connection = cnx;
Doc = Query.ExecuteQuery(cmd, cnx);
Ahora solo tenemos que jugar con los datos para obtener el archivo, pero antes, vamos a decirle a la
librera como son algunas de las propiedades que queremos, tales como donde va a escribir el archivo, los
tipos de letra, etc, etc.
// *******************************************************
// Configuracin del documento PDF
// *******************************************************
string FullPathOut = "c:\\SalidaPDF.pdf";
PdfWriter.getInstance(document, new filestream(fullpathout, filemode.create));
// *******************************************************
// Fonts y colores
// *******************************************************
Font font_celdas = FontFactory.getFont(FontFactory.HELVETICA, 8, Font.NORMAL);
Font font_titulo_tabla = FontFactory.getFont(FontFactory.HELVETICA, 9,
Font.BOLD,
new Color(255,255,255));
Color color_negro = new color(0, 0, 0);
document.Open();
Ahora vamos a generar una tabla dinmica con algunos de los datos que vamos a obtener.
Yo utilice para el ejemplo, las columnas Nombre, Apellido y Telfono de la tabla de la base de datos.
// *******************************************************
// Tabla
// *******************************************************
Table table = new Table(3);
table.BorderWidth = 0;
table.BorderColor = color_negro;
table.Padding = 1;
table.Spacing = 1;
Cell titulo = new cell(new Phrase("Datos de la tabla", font_titulo_tabla));
titulo.Header = true ;
titulo.BackgroundColor = color_negro;
titulo.Colspan = 3;
table.addCell(titulo);
table.addCell(new Phrase("Nombre", font_celdas));
table.addCell(new Phrase("Num. Documento", font_celdas));
table.addCell(new Phrase("Telfono", font_celdas));
table.endHeaders();
Como pueden ver, las propiedades para la tabla y para las celdas son muy parecidos a los atributos que
definimos en HTML asi que nos vamos a dar cuenta en seguida si necesitamos agregar alguna otra
propiedad que querramos.
Ya est, ahora solo agreguemos todo esto que generamos a nuestro documento, y.... voala!
document.Add(table);
}
Finalmente cerramos todo, no es cuestion de dejar las cosas asi porque si...
finally
{
document.Close();
}
}
}
}