Curso de SQL Server 2021 desde cero | T-SQL, BULK INSERT DINAMICO, (video 72)

Поделиться
HTML-код
  • Опубликовано: 23 дек 2024

Комментарии •

  • @informaticonfig333
    @informaticonfig333  Год назад +1

    Gracias por tu visita y participar en este curso, si te gusta por favor subscríbete, dame tu like y comparte
    para seguir creciendo y publicando mas lecciones, esto me ayudaría mucho.
    Tambien para recibir las notificaciones de las nuevas lecciones que iré subiendo paulatinamente
    CONTACTO: informaticonfig@gmail.com
    COLABORACION: paypal.me/informaticonfig
    patreon.com/informaticonfig

  • @Mr152478000
    @Mr152478000 3 месяца назад +3

    Hola a todos
    Para solucionar el error de quienes intentan cargar los datos desde archivos ".csv" les dejo la solución que me ha funcionado, en vez de usar "with (firstrow = 2);"
    usen en siguiente comando:
    with (format = 'csv',
    firstrow = 2,
    fieldterminator = ',',
    rowterminator = '0x0a');
    Saludos maestro @informaticonfig333 y muchas gracias por su contenido !!!

    • @katherinehuamanyauri3014
      @katherinehuamanyauri3014 2 месяца назад

      Hola, a mi no me salio con eso, me seguia saliendo "(0 rows affected)" 😧. pero pude encontrar una solución que me funciono. Por si alguno también le sigue fallando aun asi conviertiendo el xlxs a csv, me ayudo el siguiente comando:
      WITH (FORMAT = 'CSV', FIRSTROW=2, FIELDQUOTE = '\', FIELDTERMINATOR = ';', ROWTERMINATOR = '0x0a')
      bueno a mi solo me faltaba el FIELDQUOTE, aun asi tu respuesta me guio y ayudo. 😅

    • @edgaralfredoramirez7616
      @edgaralfredoramirez7616 2 месяца назад

      Gracias! Solo como nota, me seguía marcando error hasta que quite la parte " rowterminator = '0x0a' ".

  • @adaraygomezrivera7566
    @adaraygomezrivera7566 9 дней назад +1

    Hola a todos!!! para los que tengan el problema de no poder cargar desde el xlsx, necesitan abrir su archivo xlsx (libro de excel) y luego: Archivo > Guardar como > CSV (delimitado por comas) (*.csv) > guardar
    Y ahora si, intentan el bulk insert.
    Yo usé esta query y si funcionó:
    bulk insert #basepedidos
    from 'C:\... tu ruta de archivo...\basepedidos.csv'
    with (format = 'csv',
    firstrow = 2,
    fieldterminator=',', - - significa que cada campo en una fila está separado por una coma.
    rowterminator='0x0a') - - significa que cada fila termina con un salto de línea. (
    )
    Tiene que funcionar!! Saludos!
    PD
    GRANDE informaticonfig333 🙌🏽

  • @waler9
    @waler9 4 месяца назад +1

    Acá dejo parte de la respuesta de la IA Copilot la cual me parece muy acertada:
    "SQL Server no puede leer directamente archivos .xlsx para un bulk insert. Primero necesitarás convertir tu archivo Excel a un formato de texto plano como .csv o .txt"
    Coincide con el error que me esta ocurriendo a mi y a muchos otros compañeros.

    • @informaticonfig333
      @informaticonfig333  4 месяца назад

      si es así, esta norma debió actualizarse recientemente.

  • @AlfonsoMosquera-um3pr
    @AlfonsoMosquera-um3pr 4 месяца назад

    Buenas a todos, saludos profesor, el problema que todos están teniendo radica en el tipo de archivo xlsx, dado que al hacer un BULK INSERT no soporta archivos Excel (.xlsx), solo soporta archivos de texto (.csv) o (txt) de esa forma es que pude hacer el volcado de datos a mi tabla temporal y seguir trabajando, un método alternativo de inserción de datos para hacerlo un poco mas interesante seria utilizar el proveedor OPENROWSET para tener acceso a las tablas de un servidor vinculado. Saludos.

  • @richardalexanderriosgaitan4460
    @richardalexanderriosgaitan4460 Год назад +1

    Gracias por tu conocimiento

  • @angelcamacho2913
    @angelcamacho2913 8 месяцев назад +2

    Hola y si quisiera que omitiera la carga de la última fila de la tabla en lugar de la primera como sería en mysql

    • @informaticonfig333
      @informaticonfig333  8 месяцев назад

      hola Angel, para eso se requiere una consulta mas avanzada que mas adelante veremos.

  • @alfonsosandoval_
    @alfonsosandoval_ Год назад +1

    Hola profesor, tengo el mismo problema que han tenido los otros compañeros de los comentarios, al momento de volcar los datos de la tabla de excel me dice 0 filas afectadas, pero con el archivo txt si funciona todo perfecto.
    voy a tratar de buscar yo por mi parte a ver que puede estar pasando

  • @MichaelDeLaHozvillegas
    @MichaelDeLaHozvillegas Год назад +1

    Profe tengo el mismo problema de los demás, cuando intento subir el archivo excel. Probé cambiando todos los formatos , de todas las formas, pero no me funciona. solo me funciona si paso al archivo en formato txt.

    • @informaticonfig333
      @informaticonfig333  Год назад

      hola User, he estado intentando verificar el problema y aún no doy con la causa, a mi no me falla asi que asumo que el problema es del archivo que compartí , por el momento sigo viendo que puede estar pasando para corregir el problema con ese archivo.
      Disculpen los inconvenientes.

  • @po3ta_zero
    @po3ta_zero Месяц назад +1

    Amigo, y si tengo como 20 archivos txt en la carpeta y quiero que los cargue todos, cómo realizarlo?, ojala puedas ayudarme

    • @informaticonfig333
      @informaticonfig333  Месяц назад

      Abre Power BI Desktop.
      Ve a la pestaña Inicio y selecciona Obtener datos > Más....
      En la ventana emergente, selecciona Carpeta y haz clic en Conectar.
      En la siguiente ventana, selecciona la carpeta donde se encuentran los archivos TXT y haz clic en Aceptar.

  • @andrescepeda3245
    @andrescepeda3245 8 месяцев назад

    Hola equipo se me presenta una duda, si creo una tabla temporal, como se ve en la explicacion, esta queda fijada en esa hoja de consulta, es decir si creo una nueva hoja, me va permitir realizar consultas sobre esa tabla temporal ?
    o debo crear en cada hoja de consulta la tabla temporar para trabajar sobre la tabla..?
    Saludos.

    • @informaticonfig333
      @informaticonfig333  8 месяцев назад

      la tabla temporal que crees, solo estará disponibloe mientras tengas tu sesion de usuario activa, cuando te desconectes, la tabla desaparece.

  • @juandamunoz2730
    @juandamunoz2730 8 месяцев назад

    Buen dia, al ingresar el comando BULK me aparece como invalido, como lo puedo solucionar?

    • @informaticonfig333
      @informaticonfig333  8 месяцев назад

      hola Juan, verifica si estas colocando la sintaxis correctamente.

  • @erikrodriguezsuarez451
    @erikrodriguezsuarez451 8 месяцев назад

    He intentado cambiar la extension del archivo excel de "xlsx" a "csv" y ni así se pueden descargar los registros con el BULK INSERT, he buscado mas informacion y muchos dicen q no se puede y solo con la extensión "txt", pero sino fuera por el video q estoy viendo les creeria, q alguien me explique q pasa

    • @informaticonfig333
      @informaticonfig333  8 месяцев назад

      hola Erik, estoy investigando en foros si tal vez es por la version de Excel, has probado con otra hoja de calculo como LIbre Office u Open Office?

    • @erikrodriguezsuarez451
      @erikrodriguezsuarez451 8 месяцев назад

      @@informaticonfig333 No he probado con otras hojas de cálculo, intentaré probarlo. Gracias por el video

  • @OmarDiaz-g4p
    @OmarDiaz-g4p Год назад

    Hola disuclpa es que sucede que al momento de ejecutar me sale 0 filas afectadas cuando utilizo el xlsx, pero cuando utilizo el txt si funciono, me gustaría saber a que se debe este problema ya que no siempre podre tener a disposición un txt con la información

    • @informaticonfig333
      @informaticonfig333  Год назад

      hola User, si te funciona el txt indica que los registros estan correctos y el problema es con el formato del archivo, verifica el formato de las celdas de tu excel para que coincida con el tipo de dato de cada campo de la tabla. Espero te sirva.

    • @richardramon7128
      @richardramon7128 Год назад

      @@informaticonfig333 Hola, me esta pasando los mismo que el compañero user, al momento de ejecutar me sale 0 filas afectadas cuando utilizo el xlsx y ya verifique el formato de las celdas de mi excel para que coincida con el tipo de dato de cada campo de la tabla, pero no me ha funcionado, me puedes ayudar por favor.

    • @informaticonfig333
      @informaticonfig333  Год назад

      @@richardramon7128 hola Richard aún no logro dar con la causa del problema, por favor intenta crear una tabla y crea el excel con tus propios datos y haz el bulk a ver si te da el mismo error.

    • @esthivencruzayte2241
      @esthivencruzayte2241 10 месяцев назад

      @@informaticonfig333 Hola @informaticonfig333 , Si ,aunque cree otra tabla de diferentes valores con el formato excel(xlsx) :,v

  • @Gonza2432
    @Gonza2432 Год назад +1

    Buenas! Me funcionó para el TXT, pero no así para el Excel. Por las dudas les estuve formateando bien las columnas pero aún así me indica que se agregan 0 filas. Consulta.. Lo de que haya un proceso que cargue todos los días los excels o csv, se hace desde SQL Server o desde SISS? Saludos

    • @informaticonfig333
      @informaticonfig333  Год назад

      hola Gonza, me explicas que es SISS? gracias

    • @Gonza2432
      @Gonza2432 Год назад

      @@informaticonfig333 Me confundí, es SSIS.. SQL SERVER INEGRATION SERVICES

  • @po3ta_zero
    @po3ta_zero Год назад

    Amigo, y como le hago para que antes de pegar toda la info descarte filas?
    Problema tengo fechas donde tengo una fecha en filas, pero tengo filas que tienen dos flechas en una ej. 2023-10-03 - 2023-10-26
    Quiero que omita las filas donde contenga ese "-"
    Es posible y como hacerlo?

    • @informaticonfig333
      @informaticonfig333  Год назад +1

      Saludos Oscar, pronto venimos con la seccion avanzada del curso donde aprenderemos a formatear archivos para esa función

    • @po3ta_zero
      @po3ta_zero Год назад +1

      @@informaticonfig333 estaré a la espera amigazo!

  • @asdfasdf-yz8td
    @asdfasdf-yz8td Год назад

    Me salen estos errores cuando quiero ejecutarlo para archivos de excel (xlsx)
    Msg 4864, Level 16, State 1, Line 14
    Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 2, column 1 (idDt).
    Msg 4864, Level 16, State 1, Line 14
    Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 3, column 1 (idDt).
    Msg 4864, Level 16, State 1, Line 14
    Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 4, column 1 (idDt).
    Msg 4832, Level 16, State 1, Line 14
    Bulk load: An unexpected end of file was encountered in the data file.
    Msg 4864, Level 16, State 1, Line 14
    Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 5, column 1 (idDt).
    Msg 7399, Level 16, State 1, Line 14
    The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
    Msg 7330, Level 16, State 2, Line 14
    Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".
    Mas si funciona cuando hago lo propio con archivos csv

    • @informaticonfig333
      @informaticonfig333  Год назад

      si al parecer el problema debe ser de mi archivo, a varios les ha pasado, por favor usa uno personal, disculpa los inconvenientes.

  • @asdfasdf-yz8td
    @asdfasdf-yz8td Год назад +1

    Ah, y para los que les salga este error:
    Msg 512, Level 16, State 1, Line 3
    Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, = or when the subquery is used as an expression.
    Msg 2714, Level 16, State 6, Line 6
    There is already an object named '#dt' in the database.
    Hagan este cambio en el if
    if exists (select name from tempdb.sys.tables where name like '%#nombreTabla%')
    Y lo demás está sigue tal cuál. Aunque esto lo hice para archivos csv.

  • @lalitocf
    @lalitocf Год назад

    Buenas tardes, disculpe una pregunta, al momento de ejecutar toda la instruccion de la tabla temporal , me dice que tengo 0 filas afectadas, ya revise que el nombre y la ruta del archivo sean los correctos y no entiendo porque no me ejecuta correctamente la sentencia, espero y me pueda ayudar porfavor: Mi codigo lo puse de esta manera:
    if (select name from tempdb.sys.tables) like '%#basepedidos%'
    drop table #basepedidos
    create table #basepedidos(
    CodigoPedido varchar(100) not null,
    DocumentoCliente varchar(100) not null,
    CodigoCiudad int null,
    CodigoProducto varchar(100) null,
    CantidadProducto int,
    FechaPedido date,
    HoraPedido time
    );
    bulk insert #basepedidos
    from 'C:\Users\1GR11LLA_RS4\Downloads\basepedidos.xlsx'
    with (firstrow = 2)

    • @informaticonfig333
      @informaticonfig333  Год назад

      hola. dime si te funcionó el bulk insert con el archivo .txt?

    • @lalitocf
      @lalitocf Год назад

      @@informaticonfig333 hola, es que de echo estoy teniendo difiultad en las tablas temporales, me salen errores en el codigo , no me funciona el de excel, ni tampoco el archivo txt espero me pueda apoyar de favor, de echo copie el codigo tal cual y puse las ubicaciones de los archivos tal cual y no me funciono :(

    • @informaticonfig333
      @informaticonfig333  Год назад

      @@lalitocf me puedes mandar tus capturas de tu error a informaticonfig@gmail.com

    • @lalitocf
      @lalitocf Год назад +1

      @@informaticonfig333 gracias, listo ya le mandé mensaje a su correo con capturas de pantalla

  • @stephencurry7981
    @stephencurry7981 Год назад

    Hola profe. no me sirvio est if (select name from tempdb.sys.tables) like '%#basepedidos%'
    drop table #basepedidos
    me salta este error;:
    Msg 512, Level 16, State 1, Line 1
    Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, = or when the subquery is used as an expression.

    • @alejandrom.analco6395
      @alejandrom.analco6395 10 месяцев назад +1

      Hola, quizás es porque tenías más de una tabla temporal activa al momento de ejecutar el código, me pasó igual cuando estaba haciendo pruebas en éste ejercicio. Si eliminas las tablas temporales tal que solo esté la de éste ejercicio, se resuelve el problema.