Welcome to Sign in | Help
in Search

Import date din Excel in SQL Server 2008

Last post 08-03-2011, 9:02 PM by crestinul. 23 replies.
Page 1 of 2 (24 items)   1 2 Next >
Sort Posts: Previous Next
  •  08-01-2011, 9:01 PM 8871

    Import date din Excel in SQL Server 2008

    Salut,

    Am un sheet in Excel pe care doresc sa il import in SQL Server 2008. Unul din campurile importate este foarte lung si m-m gandit ca la import sa setez lungimea sa la NVACHAR(MAX) pentru a fi sigur ca incape, insa surpriza nu incape tot si nu inteleg de ce. Am mai sapat pe net si am descoperit ca e limitat de sistemul de operare. Este adevarat? Cum pot sa imi import toate datele ?

    Multumesc !
    Filed under:
  •  08-02-2011, 7:39 AM 8875 in reply to 8871

    Re: Import date din Excel in SQL Server 2008

    1) Care este dimensiunea maximă pentru câmpul respectiv ?
    2) Care este structura tabelei/tabelelor destinaţie ?
    3) Ce metodă de import foloseşti şi care este/sunt mesajul/mesajele de eroare ?
  •  08-02-2011, 7:46 AM 8876 in reply to 8871

    Re: Import date din Excel in SQL Server 2008

    Trimite si un exemplu de fisier Excel care iti face probleme.
  •  08-02-2011, 8:46 AM 8877 in reply to 8875

    Re: Import date din Excel in SQL Server 2008

    1. Dimensiunea maxima este NVARCHAR(MAX) în SQL Server, Excel-ul nu îmi truncheaza informația.

    2. Structura tabelelor este generata de către SQL Server înainte de a face import-ul. Are următoarele câmpuri :

    int, int, int, nvarchar(255), nvarchar(MAX) - un exemplu este mai jos de înregistrare


    1 1 15 SCR şi să fie ca luminători în întinderea cerurilor, ca să dea lumină pe pământ“. Şi aşa a fost.
    1 1 16 SCR Şi Dumnezeu a făcut* cei doi mari luminători: luminătorul* cel mare, ca să stăpânească ziua, şi luminătorul cel mic, ca să stăpânească noaptea; a făcut și stelele*. (asa arata structura din Excel)

    3. Ca metoda de import folosesc Import and Export data oferita de SQL Server. Nu primesc nici un mesaj de eroare (ceea ce este foarte ciudat!)
  •  08-02-2011, 9:09 AM 8878 in reply to 8877

    Re: Import date din Excel in SQL Server 2008

    1) Care este dimensiunea maximă la ultimul câmp (ultima coloană) din Excel ?

    În ce constă problema: nu sunt importate toate caracterele de pe anumite linii sau nu sunt importate anumite linii ?
    Dă nişte exemple de astfel de linii.
  •  08-02-2011, 9:13 AM 8879 in reply to 8877

    Re: Import date din Excel in SQL Server 2008

    Cand definesti sursa ("data source") in wizard du-te la sectiunea "data source" din stanga si da click pe "advanced". Acolo poti seta pentru coloana problema tipul de date si numarul de caractere.
  •  08-02-2011, 10:28 AM 8880 in reply to 8878

    Re: Import date din Excel in SQL Server 2008

    443 caractere unicode.

    Nu sunt importate toate caracterele de pe anumite linii.

    Spre exemplu la linia de mai jos nu imi importa semnul de dupa br ce este ">". La altele nu imi importa unul sau mai multe cuvinte.

    În ziua cînd a făcut Domnul Dumnezeu un pămînt şi ceruri, nu era încă pe pămînt nici un copăcel* de cîmp şi nici o iarbă de pe cîmp nu încolţea încă: fiindcă Domnul Dumnezeu nu dăduse încă ploaie* pe pămînt şi nu era nici un om ca să lucreze* pămîntul.


    vad ca nu apare in post si br-ul ca este html aici...
  •  08-02-2011, 10:29 AM 8881 in reply to 8879

    Re: Import date din Excel in SQL Server 2008

    nu imi dau seama unde anume este asta. nugasesc butonul de advanced, doar edit mappings unde pot modifica tipul de date al unei anumite coloane.
  •  08-02-2011, 10:47 AM 8882 in reply to 8881

    Re: Import date din Excel in SQL Server 2008

    Modifica acolo "size", care e de numai 255.
    Am facut testul pe un fisier .csv, scuze :)
  •  08-02-2011, 10:49 AM 8883 in reply to 8882

    Re: Import date din Excel in SQL Server 2008

    Am pus max in loc de 255 si tot asa face. Daca imi dati o adresa de e-mail pot sa va trimit o parte din fisierul Excel cu randurile care fac probleme pentru a vedea daca la voi fac la fel.
  •  08-02-2011, 10:59 AM 8884 in reply to 8883

    Re: Import date din Excel in SQL Server 2008

    Pune fişierul arhivat (eventual parolat) pe transfer.ro sau filesonic.com şi trimite link-ul (şi parola dacă este cazul) printr-un PM.

    Verifică dacă pentru liniile Excel care sunt trunchiate textul [nu] este "rupt"/scindat pe mai multe coloane Excel iar SQL importă doar conţinutul primei coloane. 
  •  08-02-2011, 11:06 AM 8885 in reply to 8884

    Re: Import date din Excel in SQL Server 2008

    http://dl.transfer.ro/VDC-transfer_RO-02aug-d526d4.zip

    parola este : passw0rd1
  •  08-02-2011, 11:37 AM 8886 in reply to 8885

    Re: Import date din Excel in SQL Server 2008

    Mie mi-a mers dupa ce am salvat Excelul ca si .csv, am mers in "data source" ---> advanced si am schimbat acolo nr. de caractere al coloanei TXT la 4000 si tipul la "unicode string".
    Excelul tau e plin de caractere bizare...
  •  08-02-2011, 11:49 AM 8887 in reply to 8886

    Re: Import date din Excel in SQL Server 2008

    Cu formatul .csv poti incerca si un BLK INSERT.
    Eu ma cam feresc si de formatul excel si de wizard-uri.
  •  08-02-2011, 11:59 AM 8888 in reply to 8885

    Re: Import date din Excel in SQL Server 2008

    Problema este de la SQL care analizează doar primele rânduri din Excel şi stabileşte că dimensiunea maximă a coloanei TXT din Excel ca fiind de 255 de caractere. Din acest motiv, indiferent ce dimensiune are coloana TXT din tabela destinaţie SQL Server apare trunchierea de care vorbeai la momentul importului.

    Posibile soluţii:
    1) O soluţie este să muţi pe primele linii din Excel textele TXT cele mai lungi iar importul din fişierul *.xls se va realiza cu succes.
    2) Altă soluţie ar fi să inserezi pe prima linie din fişierul Excel o nou linie cu valorile 0 0 0 0 =REPT("#",500), linie pe care o vei şterge după realizarea importului. Funcţie Excel REPT este echivalentă funcţiei T-SQL REPLICATE. Textul de 500 de caractere de pe prima linie va ajuta SQL să determine dimensiunea maximă corectă a câmpului SURSĂ din Excel TXT.
Page 1 of 2 (24 items)   1 2 Next >
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems