
Buscar este blog
30 enero 2009
Portal inmobiliario online: inmobo

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'.
Espero que les sirva, saludos!
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>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.
BULK INSERT <Tabla>
FROM '<Archivo>.csv'
WITH
(
CODEPAGE = '850',
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n',
KEEPNULLS
)
GO
Espero que les sirva, saludos!
Suscribirse a:
Entradas (Atom)