La Bloguera 2 July 2010

Posted by admin - Julio 2nd, 2010

  • Exportando e importando

    Estos días estamos preparando las charlas que daremos la semana que viene en la Party Quijote y en una de ellas andamos jugando con un montón de datos de los participantes para nuestra charla “Otra forma de ver las cosas” en la que veremos que es eso de Pivot.

    No tranquilos que no voy a desvelar de momento que estamos haciendo, ya tendréis ocasión de verlo. Estos datos que nos han dado vienen de una base de datos MySQL con su codificacion de datos y al exportarlos los dejamos en UTF-8 hasta aqui de lo mas normal.

    La cosa viene al importarlo a SQL Server que por defecto codifica de forma distinta al importar de un fichero de texto, vamos codifica los datos en la codificacion que le hayamos puesto a nuestra base de datos y no se preocupa de lo que viene en el fichero, simplemente lo importa.

    Si estas en un caso como el nuestro que los datos vienen de otro lado y tienes un fichero CSV con tus datos te creas un script como el que te dejo:

       1:  BULK
       2:  INSERT participantes
       3:  FROM 'Book1.csv'
       4:  WITH
       5:  (
       6:  CODEPAGE='ACP',
       7:  KEEPNULLS,
       8:  FIELDTERMINATOR = ';',
       9:  ROWTERMINATOR = '\n'
      10:  )
      11:  GO
      12:  --Check the content of the table.
      13:  SELECT *
      14:  FROM participantes
      15:  GO

    Si ves en la línea 6 le indicamos el CODEPAGE en nuestro caso hemos elegido ACP porque dejamos el fichero en ANSI `pero puedes elegir otros valores.

    CODEPAGE [ = 'ACP' | 'OEM' | 'RAW' | 'code_page' ]

    Specifies the code page of the data in the data file. CODEPAGE is relevant only if the data contains char, varchar, or text columns with character values greater than 127 or less than 32.

    CODEPAGE value

    Description

    ACP

    Columns of char, varchar, or text data type are converted from the ANSI/Microsoft Windows® code page (ISO 1252) to the SQL Server code page.

    OEM (default)

    Columns of char, varchar, or text data type are converted from the system OEM code page to the SQL Server code page.

    RAW

    No conversion from one code page to another occurs; this is the fastest option.

    code_page

    Specific code page number, for example, 850.

    Si quieres información completa desde MSDN de como agregar mas parámetros en tu script de sql server puedes verlo desde la pagina del MSDN

Digest powered by RSS Digest