Buscar este blog

30 enero 2009

Portal inmobiliario online: inmobo

es un proyecto ideado por mi amigo el Ing. Diego Ramirez, que desde hace tiempo tenía estas ideas locas dando vuelta junto con Seba Bustelo y ahora se plasmaron en algo real gracias a la reutilizaron de servicios web preexistentes públicos y gratuitos, con lo cual escribimos cero código ya que este era el objetivo y disponíamos de poco tiempo libre y existen buenas plataformas que nos ahorran tiempo como por ejemplo Blogger. Yo soy un simple colaborador del proyecto ya que me pareció no solo un excelente experimento para analizar un potencial mercado sino también por que es algo real, viable y listo para rodar. Así que los invito a conocer inmobo.com.ar y esperamos que nos dejen sus comentarios y/o sugerencias, y si hay algún inversor interesado en llevar esto a gran escala no duden en comunicarse con nosotros ;-)

26 enero 2009

Importar datos a SQL Server

Comparto una sencilla instrucción T-SQL para importar datos desde archivos CSV (Comma-Separated Values) a una tabla de SQL Server 2K5, CSV es ampliamente utilizado y muchos programas exportan a este formato como por ejempolo Excel aunque el separador puede diferir de una coma y ser cualquier caracter. Con BULK INSERT se puede utilizar un archivo XML que describa el esquema y los tipos de datos a importar. Para mas detalles ver esto.
En este ejemplo utilizo el codigo de página de caracteres 850 "Multilingual (Latin-1)" (Western European languages) que mapea en su conjunto de caracteres a las letras acentuadas y la 'ñ' necesarios en nuestro idioma y es el set que utilizan la mayoría de los sistemas legacy bajo DOS desde donde solemos importar los datos. También podemos ver que le indico que el delimitador de campo es el ';' y que los registros terminan con nueva línea '\n'.
USE <DB>
BULK INSERT <Tabla>
FROM '<Archivo>.csv'
WITH
(
CODEPAGE = '850',
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n',
KEEPNULLS
)
GO
Nota: En la instrucción anterior <Tabla> debe tener la misma cantidad de campos y con un tipo de datos compatible al origen de datos, además esta puede ser una tabla temporal intermedia para un proceso de importación más elaborado.
Espero que les sirva, saludos!