2012-04-04 18 views
5

ho la seguente query per inserire in una tabellaSql Inserimento di massa - Il file non esiste

BULK 
    INSERT tblMain 
    FROM 'c:\Type.txt' 
    WITH 
    (
     FIELDTERMINATOR = ',', 
     ROWTERMINATOR = '\n' 
    ) 
    GO 

Si ottiene il messaggio

Msg 4860, livello 16, stato 1, riga 1
Impossibile caricare in blocco. Il file "c: \ Type.txt" non esiste.

Il file è chiaramente lì. Qualcosa che potrei trascurare?

+0

possibile duplicato di [importazione sql in server sql 2008] (http://stackoverflow.com/questions/10016427/sql-import-into-sql-server-2008) –

+0

Si sta utilizzando MS SQL Server? Stai eseguendo SSMS per eseguire la query? – Icarus

+0

Il file ** nell'unità C: ** ?? del computer SQL Server? O sul tuo PC locale? La macchina SQL Server (supponendo che sia una macchina remota - non il tuo PC) ** non può ** leggere la tua unità locale 'C: \'! (Per fortuna! !!) –

risposta

21

Guardate che: Cannot bulk load. The file "c:\data.txt" does not exist

è quel file sul disco di SQL Server C:\ ??

SQL BULK INSERT, ecc. Funziona sempre solo con l'unità locale sul computer SQL Server. Il tuo server SQL non può raggiungere la tua unità locale.

È necessario inserire il file nell'unità C: \ di SQL Server e riprovare.

+0

@ FerhadJabiyev: Grazie per aver risposto. Per favore includi comandi/riferimenti appropriati quando rispondi. – Jayan

+0

@Jayan Sì, sei vero. Scusate. Sono nuovo in StackOverflow. –

+1

@ FerhadJabiyev: Nessun problema. Continua a postare le risposte, upvote le risposte adatte- fai pure alcune buone domande. – Jayan

10

sintassi utilità di importazione di massa è descritta qui

http://msdn.microsoft.com/en-us/library/ms188365.aspx

> BULK INSERT  [ database_name . [ schema_name ] . | schema_name . ] 
> [ table_name | view_name ] 
>  FROM 'data_file' 
>  [ WITH 
>  (

Nota sulla data_file argomento dice

'data_file'

è il percorso completo dei dati file che contiene dati da importare in la tabella o vista specificata. BULK INSERT può importare dati da un disco (inclusi rete, floppy disk, disco fisso e così via).

data_file deve specificare un percorso valido dal server su cui è in esecuzione il server SQL . Se data_file è un file remoto, specificare il nome Universal Naming Convention (UNC). Un nome UNC ha il formato \ Systemname \ ShareName \ Path \ FileName. Ad esempio, \ SystemX \ DiskZ \ Sales \ update.txt.

+2

Questa è una buona risposta, perché include il fatto che è possibile utilizzare un percorso di rete. Non deve necessariamente essere il computer locale di SQL Server. –

0

Ho avuto questo problema prima. Oltre a verificare il percorso del file, assicurati di fare riferimento al nome file e al tipo di file corretti. Assicurati che si tratti effettivamente di un file di testo che hai salvato nella posizione di origine e non in un file di parole, ecc. Sono stato incasinato con .doc e .docx. Questo è un mio nuovo errore da fare, ma hey, può succedere. Modificato il tipo di file e risolto il problema.

Problemi correlati