こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

存在しているファイルがロードできない?

MySQLを試行錯誤しながら、Windows2003上にインストールし、文字化けも解消、WindowsXP上からリモートでログインして操作できる状態になりました。
コマンドラインからデータベースを作成し、基幹システム上のデータをテキストファイルにCSVで落とした後、作成したTABLEに
>load data infile "c:\\mysql\\sql\\test.txt"
>into table cshmst fields terminated by ','
>optionally enclosed by '"';
を実行したのですが、
ERROR1105(HY005):File 'c:\mysql\sql\test.txt' not Found(Errcode: 2)
とエラーが出てしまいます。当然指定パスにファイルは存在します。
別のマシンからダウンロードした同一形式のCSVは同じパラメタで正常にロードできたので、文字コードの問題か何かのように思えます。
エディタで開いてみると、正常に開き、文字化けもしていない状態なのですが、不思議です。(OKなほうもNGのほうも同じ)

同じような経験をされた方がありましたら、アドバイスいただけたら幸いです。

MYSQL:4.1.14 Windows版
Server:Windows2003 SP2
Cliant:WindowsXP Pro
my.iniの変更
[mysqld]
default-character-set=sjis
default-table-type=InnoDB
language=japanese  → コメントアウト

投稿日時 - 2006-03-15 12:58:02

QNo.2030359

困ってます

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

sqlディレクトリー上ってことはサーバー側のCドライブにファイルがあるんですよね。
データベースディレクトリかそれより下位でないとアクセスできなかったような?
my.iniのデータベースディレクトリはどこになってますか?
http://dev.mysql.com/doc/refman/4.1/ja/load-data.html

MySQL バージョン 3.22.6 以降なら、クライアント側に置いてLOCAL指定した方がはやいかも。

投稿日時 - 2006-03-18 21:33:14

お礼

有難うございました。
解決しました。localオプションが無いとサーバー上のファイルとみなされてしまうようです。
ただ、以前に実行した時はlocalオプションの存在を知らなかったので、それでも1つのテーブルへロードできたのが不思議なんですが。勘違いでしょうか。

投稿日時 - 2006-03-19 19:25:40

ANo.3

前にやったことがありますが、SJISだと文字化けすることがありました。
ただ、Loadできないと言うことはなかったので、文字コードのせいではないような気がしますが。
とりあえず日本語は使わないで、英数字だけでLoad data してみたらどうなるのでしょうか。
正常にLoadできるようでしたら、日本語のせいだとおもいます。

あとはエラー番号を調べてみると、以下のようなものが出てきたので参考にしてください。
http://dev.mysql.com/doc/refman/4.1/ja/news-4-0-14.html
http://dev.mysql.com/doc/refman/4.1/ja/problems-with-character-sets.html
http://d.hatena.ne.jp/babie/20050810

投稿日時 - 2006-03-16 10:41:42

お礼

有難うございました。
解決しました。localオプションが無いとサーバー上のファイルとみなされてしまうようです。

投稿日時 - 2006-03-19 19:23:25

ANo.2

-Lオプションつけても駄目ですか?

投稿日時 - 2006-03-16 00:24:11

お礼

有難うございました。
解決しました。localオプションが無いとサーバー上のファイルとみなされてしまうようです。

投稿日時 - 2006-03-19 19:24:12

ANo.1

Windows環境は使ったこと無いので、なんともいえませんが、
mysqlimportコマンドだとどうなるでしょうか。

投稿日時 - 2006-03-15 13:15:57

お礼

アドバイス有難うございました。
mysqlimportでも行ってみましたが、同じ結果になりました。

mysqlimport : Error : File 'c:\mysql\sql\mytbl.txt' not found(Errcode: 2) when using table mytbl
とほぼ同じエラーが出るようです。

投稿日時 - 2006-03-15 17:17:23

あなたにオススメの質問