2012-06-14 88 views
0

我正在將舊的Sybase數據庫遷移到新的MySQL數據庫。 自從Sybase可以將數據導出到.dat文件(類似於新的csv)之後,我決定使用它。將數據從Sybase導入到MySQL

問題是Sybase使用逗號作爲列分隔符,並且字符串中的逗號被忽略,因爲它們被包含在「'中,但不包含在MySQL中。

有沒有辦法解決這個問題?這是我的查詢:

LOAD DATA LOCAL INFILE 'C:\\UNLOAD\\166.dat' 
INTO TABLE linea_col 
COLUMNS TERMINATED BY ',' 
LINES TERMINATED BY '\r\n'; 

在此先感謝您。

回答

2

如果他們是用單引號括試試這個:

LOAD DATA LOCAL INFILE 'C:\\UNLOAD\\166.dat' 
INTO TABLE linea_col 
COLUMNS TERMINATED BY ',' 
ENCLOSED BY '\'' 
LINES TERMINATED BY '\r\n'; 

如果不工作,那麼你應該做ENCLOSED BY ''''但我99.99%肯定第一個是正確的。

+0

批准我是在回答自己的出口。 – IssamTP

0

我不熟悉DAT文件如何與CSV不同,但您可以使用CSV作爲常用格式。

可以從Sybase使用BCP和強制輸出使用CSV格式

bcp database.dbo.tbl_name out c:\temp\output.csv -c -t, -U user_name -P password -S server_name 

然後導入到MySQL與

load data local infile 'uniq.csv' into table tblUniq fields terminated by ',' 
enclosed by '"' 
lines terminated by '\n' 
(uniqName, uniqCity, uniqComments)