2012-07-25 84 views
1

我試圖運行此查詢SQL負載數據的併發INFILE

LOAD DATA CONCURRENT INFILE 'C:\\Data-API.csv' INTO TABLE pbp_person 
FIELDS TERMINATED BY '\t' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES 
(email, first_name, last_name, title, company_name, address, city, state, zip, country, phone, vertical); 

,但我得到一個錯誤說....

SQL Error(29) File 'C:\Data-API.csv' not found (Errcode:2)

該文件是在正確的地方;發生了什麼?

+1

您確定該文件在服務器***(MySQL正在運行)上可用***嗎? – 2012-07-25 18:39:18

回答

1

服務器中的文件是?由於您尚未指定LOCAL,因此必須在服務器主機上指定該文件。

如果是在客戶端,然後使用此:

LOAD DATA CONCURRENT *LOCAL* INFILE 'C:\\Data-API.csv' INTO TABLE pbp_person 
FIELDS TERMINATED BY '\t' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES 
(email, first_name, last_name, title, company_name, address, city, state, zip, country, phone, vertical); 

參考this

如果未指定LOCAL,則文件必須位於服務器主機上並由服務器直接讀取。服務器使用以下規則來查找文件:

  • 如果文件名是絕對路徑名,服務器將按給定的方式使用它。

  • 如果文件名是包含一個或多個主要組件的相對路徑名,則服務器搜索相對於服務器數據目錄的文件。

  • 如果給出沒有前導組件的文件名,服務器將在數據庫的默認數據庫目錄中查找該文件。

+0

謝謝雅各布....很好的回答 – user979331 2012-07-26 14:35:14