0

古いSybaseデータベースを新しいMySQLデータベースに移行しています。Sybaseがデータを.datファイル(新しいcsvに似たもの)にエクスポートできるようになった瞬間から、それを使用することにしました。

問題は、Sybaseが列区切り文字としてコンマを使用し、文字列内のコンマは''で囲まれているため無視されますが、MySQLでは使用されないことです。

問題を解決する方法はありますか?これが私の質問です:

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

前もって感謝します。

4

2 に答える 2

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%確信しています。

于 2012-06-14T08:33:14.720 に答える
0

DATファイルがCSVとどのように異なるかはよくわかりませんが、一般的な形式としてCSVを使用できます。

BCPを使用してSybaseからエクスポートし、出力に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)
于 2012-06-14T08:37:38.953 に答える