Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    78

    [SQL] esportazione in EXCEL

    Ciao a tutti, la mia domanda è questa:
    supponendo di avere un database in MS-SQL SERVER o ORACLE con un certo numero di tabelle e volendo estrarre dei dati con delle istruzioni SQL (SELECT * FROM tabella WHERE ...), il risultato di queste query è possibile averlo direttamente su file (p.e. EXCEL) anziché solo a video o sono obbligato a fare un programma, p.e. in VB e crystal report?

  2. #2
    puoi scrivere un csv direttamente su file

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    78
    Scusa, ma non so cos è un csv

  4. #4
    I file csv sono come dei file di testo ma rappresentano ad esempio una tabella. Ogni riga della tabella diventa una riga del file csv e i valori dei campi vengono separati da un separatore univoco (ad esempio la virgola). Per esempio se hai una riga di una tabella con i seguenti valori:

    Nome|Cognome|Compleanno

    nel file csv avrai

    Nome,Cognome,Compleanno (se usi come separatore la virgola)

    Se poi apri quel file con excel puoi dirgli di separare direttamente i campi partendo da un determinato valore di separazione.

    Ciau

  5. #5
    anche se CSV vuol dire Comma (virgola) Separated Values, io di solito uso ";" (punto e virgola) come separatore per evitare possibili interferenze con le formattazioni numeriche. le stringhe andrebbero racchiuse tra apici doppi ( "bal bla bla" )

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    78
    Grazie per il suggerimento, ma ancora non capisco come posso creare questo file csv (che, mi pare di aver capito, è un normale file ASCII delimited) direttamente all'interno del mio database e solo con SQL

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    134
    nn credo si possa fare direttamente da SQL. Basta un semplice programmino (in VB va più che bene e nn serve a nulla scomodare Crystal).

  8. #8
    MSSQL può tranquillamente scrivere nel file system (immagino anche Oracle, ma non lo frequento così tanto da poter dire come).

    ad esempio con

    codice:
    exec master..xp_cmdshell 'echo ''ciao furla'' >> furlafile.txt'
    scrivi ciao furla nel file furlafile.txt.

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da optime
    codice:
    exec master..xp_cmdshell 'echo ''ciao furla'' >> furlafile.txt'
    Attenzione ad usare la sp

    xp_cmdshell

    Fatelo solo se e' veramente necessario ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10

    Re: [SQL] esportazione in EXCEL

    Originariamente inviato da ilfurla
    supponendo di avere un database in MS-SQL SERVER o ORACLE con un certo numero di tabelle e volendo estrarre dei dati con delle istruzioni SQL (SELECT * FROM tabella WHERE ...), il risultato di queste query è possibile averlo direttamente su file (p.e. EXCEL) anziché solo a video o sono obbligato a fare un programma, p.e. in VB e crystal report?
    Se usi sqlserver la migliore risposta a questa necessità si chiama Integration Services che è il componente integrato in sqlserver per l'Estrazione Trasformazione e Caricamento dei dati (ETL) che evolve i "vecchi" DTS.
    Se vuoi evitare di imparare ad utilizzare il designer dei pacchetti di integration services, sappi che esiste il comodo e semplice wizard di esportazione dati utilizzabile con SqlServer Management Studio (tastodestrosuldb->Task->ExportData) che alla fine crea un pacchetto IntegrationServices che puoi eventualmente salvare ed eseguire subito o con un job schedulato.
    L'alternariva a Integration Services può essere rappresentata anche dall'utilizzo del programma a riga di comando bcp (bulk copy porgram) creato appositamente per importazioni ed esportazioni dei dati dal db a file di testo o altro.

    Come è già stato correttamente detto, evitare di usare xp_cmdshell perchè l'abilitazione di questa stored procedure di sistema espone l'intero server e non solo il database server a rischi di sicurezza.
    Saluti a tutti
    Riccardo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.