1 0 Archive | Abril, 2010
post icon

Importar datos de un fichero CSV en SQL Server

Muchas veces en la práctica vamos a encontrarnos con la siguiente situación, nos envían de algún lugar datos en un fichero CSV (Fichero que tiene valores separados por comas), y necesitemos almacenar estos en nuestra base de datos, los motivos pueden ser varios, importación de datos de alguna base datos que no solamente puede ser SQL Server mismo, algún programa externo a nosotros genera este tipo de ficheros, por cuestión de interoperabilidad con otras empresas se decide utilizar este mecanismo, en fin, cualquier motivo resulta válido para el caso.

El punto más bien es utilizar un mecanismo más rápido de inserción de los mismos a nuestra BD, que tener que programar una aplicación que haga este trabajo. SQL Server tiene su propia herramienta que hace esto por nosotros, se lo puede hacer de manera gráfica como por línea de comandos. Evidentemente no veremos el modo gráfico porque es demasiado intuitivo que no requiere explicación, pero si sería interesante conocer como esa pantalla gráfica hace “por debajo” este trabajo, que nosotros mismo podemos hacerlo.

El comando BULK nos ayudara, veamos un ejemplo práctico. Creemos la siguiente tabla:

1
2
3
4
5
6
7
8
9
USE BD
CREATE TABLE CSVPersona
(
IdPersona INT,
Nombre VARCHAR(40),
Apellidos VARCHAR(40),
Nacimiento DATETIME
);
GO

Luego necesitamos crear (Continuar Leyendo sobre Importar datos de un fichero CSV en SQL Server)

post icon

Cargar datos de una base de datos con JSP

Hoy escribiremos por primera vez sobre JSP, Java Server Page. La evolución de los Servelts de Java, la cual se diferencia de su antecesor que ya no necesita ser compilado antes de deployarlo, sino este proceso se realiza por el servidor cuando el usuario lo solicita.

Trabajaremos con una base de datos MySQL, ya que es la más popular hasta hoy día para la plataforma web, de igual modo el ejemplo servirá para otros motores, solo deberíamos cambiar la capa de conexión por otra.

Trabajar con JSP y Netbeans es mucho más sencillo que con eclipse pero de igual modo lo haremos con este ultimo, personalmente he utilizado la versión Galileo para el ejemplo.

El ejemplo como siempre será lo más sencillo posible, en la BD necesitaremos crear una tabla básica de usuarios, que tengan nombres, los cuales mostraremos un listado de los mismos dentro de un Table HTML.

Una vez creado ésta tabla, que doy por hecho que lo pueden hacer, procederemos a crear nuestro proyecto Web. Una vez abierto nuestro IDE, buscaremos en el menú:

Archivo --> Nuevo --> Dinamic Web Proyect

Alli seteamos la configuración de desarollo, le colocamos el n0mbre al proyecto, yo le llamado JSPTroce, la versión del modulo que puede ser sin problemas el 2.4 o 2.5.

Siguiente --> Siguiente --> Finalizar

Una vez hecho esto, necesitaremos el driver JDBC para conectarnos a MySQL, la cual pueden descargar desde el sitio oficial. Más adelante también necesitaremos tener instalado el servidor o contenedor Web Apache Tomcat, preferentemente la versión 6, aunque debería funcionar sin ningún problema en la 5.5 el mismo lo descargan de aqui.

Una vez instalado el servidor, podemos copiar (Continuar Leyendo sobre Cargar datos de una base de datos con JSP)

post icon

Lo nuevo en Visual Studio 2010 y Framework 4.0

Hace unos días Microsoft lanzó su nueva versión de su IDE de desarrollo por excelencia, Visual Studio 2010. Además de framework 4.0. Los mismos pintan muy bien, se ven mejoras visuales y de tiempo de desarrollo. Se han enfocado mucho en facilitarle la vida al desarrollador con ésta nueva versión, especialmente a los desarrolladores WEB.

Algunas de los cambios significativos que han introducido son los siguientes:

  1. El que más llamo mi atención fue la introducción del lenguaje F#, que es un lenguaje orientado a la funcionalidad, creado hace un buen tiempo, pero recién introducido a ésta plataforma. La misma tiene soporte para orientación a objetos y programación imperativa, tipos de datos avanzados, tipos de datos inmutables, entre otros. Probablemente sea el lenguaje de tiempo de desarrollo más bajo de ésta plataforma. Aún no lo he probado pero apenas lo haga ya verán fragmentos de código colgados aquí en devtroce..
  2. Mejoras en el IDE visualmente hablando.
  3. El CLR nuevo ofrece mayor (Continuar Leyendo sobre Lo nuevo en Visual Studio 2010 y Framework 4.0)
post icon

Utilizar precisión de milisegundos en Delphi

En la entrada anterior vimos como almacenar el tiempo con precisión en MySQL, ésta vez veremos algo semejante, como la función NOW de por sí no devuelve milisegundos, debemos hacer un decodificamiento del mismo para éste efecto, o caso contrario utilizar la API de Windows, el cual es mucho más preciso que la función anterior.

1
2
3
4
5
6
7
// esta es primer forma de hacerlo
var
 year, mes, dia, hora, minuto, segundo, milisegundo: Word;
begin
   DecodeDate(now, year, mes, dia);
   DecodeTime(now, hora, minuto, segundo, milisegundo);
end;
1
2
3
4
5
6
7
// Invocacion con la API de Windows, solo extrae el milisegundo, pero pueden obtener mas info del objeto TSystemTime
var
 st: TSystemTime;
begin
   Windows.GetSystemTime(st);
   MessageDlg(IntToStr(st.wMilliseconds), mtInformation, [mbOK], 0);
end
15 Abril 2010
post icon

Utilizar precisión de milisegundos en MySQL

Almacenar en campos de tipo DateTime, Time o Timestamp con una precisión fina en MySQL es un tanto difícil, ya que lamentablemente hasta la fecha aún no hay soporte para tal efecto. Se pueden formatear el tiempo pero si la fuente del tiempo es uno de estos campos en MySQL veríamos los milisegundos con valores cero.

En la lista de petición de desarrollo de MySQL hace más de 5 años que vienen pidiendo esto, y no hacen caso (el motivo lo desconozco) como pueden ver aqui (inglés requerido). Esto provocó distintas reacciones, algunos (Continuar Leyendo sobre Utilizar precisión de milisegundos en MySQL)

post icon

Crear un Timer en Java

En Java a diferencia de otros lenguajes no tenemos un objeto timer tan fácil de manipular, existe por suerte la clase que nos ayudará pero la implementación es un tanto más larga. Debemos crear manualmente las tareas a ser asignadas, los métodos de inicio, detención y reinicio.

En éste ejemplo sencillo mostraré como imprimir simplemente el tiempo que va pasando con el timer. Pero ustedes podrán agregar más código en la clase llamada MiTarea, incluso podrán crear varias (Continuar Leyendo sobre Crear un Timer en Java)

12 Abril 2010
post icon

Chatear en Facebook y Twitter desde Pidgin

Personalmente no me gusta tener muchas aplicaciones abiertas para un solo fin, como es el caso de la mensajería instantánea, Windows Live Messenger, GTalk, Yahoo Messenger, para mí es inconcebible esto, es por eso que siempre he buscado los clientes multiprotocolos, cuando estoy conectado desde alguna distro GNU/Linux sin falta lo hago desde pidgin, y anteriormente cuando me conectaba desde Windows usaba Disgsby ya que este me ofrecía conectarme a todas mis cuentas de IM, ademas de conectarme a facebook y twitter, el problema con él es que crashea con bastante frecuencia (aunque tiene una interfaz más linda que pidgin).

Cansado de los “crasheos” me puse a investigar si podía o no conectar mis cuentas de facebook y twitter con mi pidgin y así volver al viejo caballo de (Continuar Leyendo sobre Chatear en Facebook y Twitter desde Pidgin)

post icon

Eliminar ficheros con Delphi

Nuevamente hoy escribiré código que trabaja con ficheros, pero ésta vez desde Delphi. Veremos como podemos eliminar archivos del disco de a uno o varios a la vez (no recursivamente). Será un pequeño procedimiento que recibe un String que representa la ruta del fichero, y luego es convertido a PAnsiChar para el objeto que usamos.

Utilizar la API de Windows

Primeramente necesitamos hacer uso de la siguiente clase:

ShellAPI

En la sección type declaramos como procedimiento público:

1
2
3
4
5
6
7
8
type
  ...
  private
    { Private declarations }
  public
    { Public declarations }
    procedure BorrarFichero(fichero: String);
  end;

y ahora vemos el desarrollo del procedimiento: (Continuar Leyendo sobre Eliminar ficheros con Delphi)

post icon

Conectar y Consultar a SQL Server desde PHP sobre Windows

Mucho de este lenguaje no he escrito, uno de los motivos es que no trabajo con el hoy día pero siempre me pareció un lenguaje muy interesante y sencillo de entender su sintaxis. Anteriormente hemos visto un ejemplo muy sencillo de concatenación de variables string, hoy haremos algo más interesante: Nos conectaremos a SQL Server 2008 (también funciona con otras versiones) y haremos una consulta sencilla y lo mostraremos en el browser.

Todo esto lo haremos bajo un servidor web Apache instalado en Windows, las fuentes del php no cambiarían si lo usaramos en otro Sistema Operativo, pero si la configuración del PHP en sí sobre apache (prometo verlo más adelante este tema).

Para llevar a cabo este ejemplo doy por hecho que tienen instalado el servidor Web Apache y los módulos para PHP, veremos una pequeña configuración básica nada más. Lo primero que necesitaremos es descargarnos las “.dll” que permitirán interactuar con nuestro motor de bases de datos, ellas podemos descargarlas desde aquí. Normalmente en nuestro directorio donde se encuentra instalado el PHP, existe una carpeta llamada “ext”, en ella debemos copiar el fichero:

php_mssql.dll

La cual se encuentra en las carpetas que acabamos de descargar en un directorio con el mismo nombre. Luego en la raíz de la instalación  (Continuar Leyendo sobre Conectar y Consultar a SQL Server desde PHP sobre Windows)

Página 1 de 11