Welcome to Sign in | Help
in Search

export din excel in database - sql server 2000

Last post 10-03-2008, 8:00 AM by indy. 11 replies.
Sort Posts: Previous Next
  •  08-21-2008, 4:02 PM 5519

    export din excel in database - sql server 2000

    salut, am si eu o problema

    am un fisier excel cu macros....acest fisier exporta datele din fiecare sheet intr-un fisier .csv intr-o anumita cale la apasarea unui buton

    dupa asta eu trebuie sa ma duc in SQL Enterprise Manager si de aici sa execut/pornesc niste DTS Package care imi importa datele din aceste CSV-uri in niste tabele intr-o baza de date dupa care apeleaza niste proceduri care aranjeaza datele...totul merge f. frumos

    problema mea este ca as vrea sa renunt la aceste DTS-uri si sa export direct din excel in baza de date(in tabelele respective) si apoi sa execut procedurile respective

    am editat macros (excel) astfel incat am facut o conexiune la baza de date si acum as vrea in momentul in care fac click pe respectivele butoane sa-mi exporte din sheetul respectiv in baza de date (daca era vorba de import din baza de date era simplu :) ) dupa care sa execute procedurile respective care aranjeaz datele....ceva imi scapa

    aveti cumva un excel (macros) din care sa ma inspir si eu...ceva asemanator care sa ma ajute...cine foloseste asa ceva

    sau (poate vorbesc prostii acum...imi cer scuze) cumva la apelare buton din excel pot sa  execut un DTS :)

    multumesc mult

    alex.

  •  08-21-2008, 4:52 PM 5520 in reply to 5519

    Re: export din excel in database - sql server 2000

    Alex:

    am editat macros (excel) astfel incat am facut o conexiune la baza de date si acum as vrea in momentul in care fac click pe respectivele butoane sa-mi exporte din sheetul respectiv in baza de date (daca era vorba de import din baza de date era simplu :) ) dupa care sa execute procedurile respective care aranjeaz datele....ceva imi scapa

    aveti cumva un excel (macros) din care sa ma inspir si eu...ceva asemanator care sa ma ajute...cine foloseste asa ceva


    Si mie imi scapa ... te pot ajuta daca imi spui ce NU iti merge
        Nu stii sa faci macro-ul
        Nu stii ce fac DTS-urile ( cum uploadeaza in tabele, in ce format, ce transformari mai fac)
        ETC

    Ignat Andrei
    http://serviciipeweb.ro/iafblog
  •  08-21-2008, 5:33 PM 5521 in reply to 5519

    Re: export din excel in database - sql server 2000

    Din Excel VBA, poţi executa un package DTS apelând DTSRUN.EXE cu funcţia VBA Shell().
    Vezi şi: http://msdn.microsoft.com/en-us/library/aa224467(SQL.80).aspx

    Răzvan
  •  08-21-2008, 5:58 PM 5522 in reply to 5520

    Re: export din excel in database - sql server 2000

    nu stiu syntaxa de vba macro excel care sa-mi exporte randurile pline dintr-un worksheet excel intr-o tabela sql....iar dupa ce acest export s a incheiat sa-mi execute o procedura

     

    alex.

  •  08-21-2008, 6:01 PM 5523 in reply to 5521

    Re: export din excel in database - sql server 2000

    razvan, ai te rog un exemplu....

    multumesc

    alex.

  •  08-21-2008, 6:41 PM 5524 in reply to 5523

    Re: export din excel in database - sql server 2000

    Exemplu inspirat doar din documentaţie (netestat):

    Shell("DTSRUN.EXE /S numeserver /U utilizator /P parola /N numepackage")

    Răzvan
  •  08-21-2008, 6:59 PM 5525 in reply to 5524

    Re: export din excel in database - sql server 2000

    Alex:


    razvan, ai te rog un exemplu....

    multumesc

    alex.

    Daca e o copiere simpla poti să te conectezi din VBA la baza de date SQL2000 cu ADO.

    Citirea datelor din Excel se poate face folosind obiectul Range (domeniu de celule) astfel
    MsgBox Range("A1:B2").Cells(1,1)  'undex la Cells precizezi indexul liniei si coloanei din domeniu

    Pentru a afla cate linii sunt intr-un domeniu folosesti obiectul Range astfel
    MsgBox Range("A1:B2").Rows.Count
    La fel pentru coloane:
    MsgBox Range("A1:B2").Columns.Count

    Deschizi conexiunea la BD si apoi objCon.Execute "INSERT INTO tabelasql VALUES (" ....

  •  08-21-2008, 8:50 PM 5526 in reply to 5525

    Re: export din excel in database - sql server 2000

    perfect....hai ca am de unde sa incep.....va multumesc amandurora pt. sfaturi

    o singura 2 intrebari la varianta cu DTSRUN.EXE :)

    daca fisierul excel sta pe o alta statie decat serverul cu database-ul cu  pricina.....trebuie sa am ceva din SQL Server instalat pe statia respectiva ca sa nu am erori, sa pot executa dtsrun.exe?

    si cea de-a 2-a.....tot din vba macros as vrea ca dupa ce se genereaza aceste fisiere in format csv ele sa fie copiate in retea intr-un folder de pe server.....cu ce anume fac lucrul asta?

    multumesc inca o data.

    alex.

  •  08-21-2008, 9:25 PM 5527 in reply to 5526

    Re: export din excel in database - sql server 2000

    Alex:

    daca fisierul excel sta pe o alta statie decat serverul cu database-ul cu  pricina.....trebuie sa am ceva din SQL Server instalat pe statia respectiva ca sa nu am erori, sa pot executa dtsrun.exe?



    Da, trebuie să fie instalată partea de Client Tools din SQL Server 2000. Sau măcar fişierele care ţin de DTS runtime, aşa cum sunt descrise aici.

    Dar mai simplu ar fi să se instaleze DTS Runtime-ul din Microsoft SQL Server 2005 Backward Compatibility Components (SQLServer2005_BC.msi), din SQL Server 2005 Feature Pack.

    Răzvan
  •  08-22-2008, 6:24 AM 5528 in reply to 5526

    Re: export din excel in database - sql server 2000

    Alex:

    perfect....hai ca am de unde sa incep.....va multumesc amandurora pt. sfaturi

    o singura 2 intrebari la varianta cu DTSRUN.EXE :)

    daca fisierul excel sta pe o alta statie decat serverul cu database-ul cu  pricina.....trebuie sa am ceva din SQL Server instalat pe statia respectiva ca sa nu am erori, sa pot executa dtsrun.exe?

    si cea de-a 2-a.....tot din vba macros as vrea ca dupa ce se genereaza aceste fisiere in format csv ele sa fie copiate in retea intr-un folder de pe server.....cu ce anume fac lucrul asta?

    multumesc inca o data.

    alex.



    Sub Macro1()
    '
    ' Macro1 Macro
    ' Macro recorded 8/22/2008 by .
    '

    '
    ActiveWorkbook.SaveAs Filename:= _
    "C:\Documents and Settings\Administrator\Desktop\Book2.csv", FileFormat:= _
    xlCSV, CreateBackup:=False
    End Sub


    şi

    FileCopy sursa , destinatie

    Exemplu: FileCopy "c:\gigel\sheet1.csv" , "\\server\directorpartajat\sheet1.csv"


    Mai poti face o chestie pentru exportul din Excel in format CSV: te conectezi la fisierul Excel *.xls cu ADO , incarci intr-un recordset inregistrarile din *.xls si generezi apoi *.csv care este de fapt un fişier text (OPEN "c:\gigel\sheet1.csv" FOR OUTPUT AS #1    PRINT #1, rs(0).Value, ....       CLOSE #1) .
  •  08-22-2008, 9:33 AM 5529 in reply to 5526

    Re: export din excel in database - sql server 2000

    Alex:

    daca fisierul excel sta pe o alta statie decat serverul cu database-ul cu  pricina.....trebuie sa am ceva din SQL Server instalat pe statia respectiva ca sa nu am erori, sa pot executa dtsrun.exe?


    DA ... cel putin sql client tools ... Dar nu stiu daca vine si dtsrun - cred ca nu ...

    Trebuie sa fie un fisier gen  redist.txt  pe CD-ul cu SQL Server si sa iti explice cum instalezi dtsrun ( nu am cd-ul la mine ...)
    Sau poti citi de aici
    Redistributing DTS with your program
    http://www.sqldts.com/225.aspx

    Ignat Andrei
    http://serviciipeweb.ro/iafblog
  •  10-03-2008, 8:00 AM 5709 in reply to 5529

    Re: export din excel in database - sql server 2000

    de ce vrei sa renunti la DTS-uri?? le poti automatiza; si macroul din excel il poti automatiza cu un Windows Scheduler inainte de rularea pachetelor si ai totul auotmat.
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems