Ctrl+Alt+Supr, blog de Ollydbg
.MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start
Sin lugar a dudas, una de las principales areas en el ámbito informático es el procesamiento, interpretación y alamcenamiento de información en base de datos (BDD).
Casi todas las páginas que pululan por internet guardan sus datos en BDD, un claro ejemplo son los foros, cómo por ejemplo el foro de Meristation.
Todos los post se guardan cómo "registros" en una / unas base de datos que luego el código (php, asp, ....) del foro nos muestra.
Sin embargo también se utilizan las bases de datos para aplicaciones "Windows", para almacenar la información de forma ordenada.
Las "bases de datos" son casi tan viejas cómo la informática. Desde siempre se ha necesitado guardar información de alguna forma. Podríamos considerar las tarjetas perforadas como las primeras "bases de datos".
Básicamente existen dos topologías de bases de datos: (a muy, muy groso modo)
En el primer ejemplo podemos encontar por ejemplo archivos tipo Access.
En el tema de "Servidores" de datos han proliferado multitud de sistemas. Oracle, MySQL, SQL Server, Postgre SQL, etc, etc.
Obviamente estas dos topologías tienen sus pros y sus contras:
Base de datos cómo ficheros individuales:
Sin embargo presentan los siguientes inconvenientes:
"Servidores" de datos:
Una de las principales ventajas de estos sistemas es que estan
diseñados para que dos, tres o trescientos usuarios puedan acceder al
mismo tiempo a las bases de datos.
Puede parecer una chorrada, por no podéis llegar a imaginar la de
quebraderos de cabeza que puede llegar a dar la "concurrencia" a la
hora de acceder a una base de datos.
Por otro lado estos sistemas suelen ser muchísimo más robustos, lo que hace que las bases de datos no se "corrompan" y no perdamos datos.
Obviamente este tipo de topología sí que está pensada trabajar "en red". Se puede acceder a la base de datos desde un PC que está en Burkina Faso o desde otro que esta en Honolulu.
Aunque claro, siempre hay "peros":
Visual Studio .NET puede trabajar de forma nativa con SQL Server.
Existe una versión Express, al igual que VB.NET Express, o C# Express que es completamente gratuita.
Visual Studio .NET 2005 y Visual Studio 2008 (por lo menos las versiones "Professional") instalan por defecto SQL Express 2005 como servidor de SQL predeterminado.
No sé si las versiones Express de Visual Basic .NET o C# instalan este SQL server, si no es así siempre puedes descargartelo desde la página de Microsoft. Página oficial de SQL Server 2005 Express.
Nota: Existe una nueva versión de SQL Server Express, la 2008.
Una vez instalado SQL Server 2005 Express ya tendrás tu servidor listo para poder trabajar con él.
Esto puede ser realmente "complejo", pero de nuevo tendremos una
herramienta "Visual" para manejar nuestras bases de datos.
Esta herramienta es el Microsoft SQL Server Management Studio Express (o abreviado, el MSSMSE). Lo puedes descargar desde éste enlace. Cómo verás hay dos links de descarga: la versión de 32 bits o la de 64 bits. Si tienes un S.O. de 64 bits puedes descargar el SQLServer2005_SSMSEE_x64.msi.
La instancia por defecto del SQL Server 2005 Express se llamará:
nombre_del_pc\SQLEXPRESS
Puedes instalar tantos servidores SQL cómo quieras, aunque claro, cuantos más instales, más recursos consumirá.
SQL Server se ejecuta cómo servicio de Windows, no cómo un proceso y normalmente con el nombre MSSQL&nombre_de_la_instancia, por ejemplo MSSQL&SQLEXPRESS.
Por defecto, SQL Server Express se instala para trabajar de forma "local". Si queremos que nuestro servidor de SQL se pueda ver en una LAN o incluso desde internet tendremos que modificarlo desde la configuración de superficie:
Además, deberermos activar el protocolo TCP/IP.
Si queremos que nuestro servidor sea accesible desde "el exterior"deberemos anotar el puerto por el que se realizará la comunicación con el servidor, para abrirlo en nuestro router y firewall (Abrir el puerto en el router y redirigir el tráfico al PC donde se está ejecutando el servidor de SQL sólo será necesario si queremos que se pueda acceder desde fuera de nuestra red):
Por útlimo una vista del Microsoft SQL Server Management Studio Express:
Desde el Microsoft SQL Server Management Studio Express podremos crear nuevas bases de datos, nuevas tablas, crear vistas, consultas, crear copias de seguridad, diagramas, etc, sería como el "Access" pero para SQL Server. Y cuando se sabe manejar, es una herramienta increiblemente potente.
En las próximas entregas veremos cómo crear una base de datos en nuestro servidor de SQL Server y cómo acceder a ella por código, dando de alta nuevos registros, modificando los existentes, borrando, etc.
Espero vuestras dudas y/o consultas
Saludos.
mov eax,ollydbg; Int 13h
.MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start
Nuevos enlaces descargas Tutoriales
1 al 24, MouseOdometerNET, PingScanner y
OllySecrets (1 y 2) (Actualización 05/02/2011)
