10代と話して驚いたこと

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  → コメントアウト

A 回答 (4件)

sqlディレクトリー上ってことはサーバー側のCドライブにファイルがあるんですよね。


データベースディレクトリかそれより下位でないとアクセスできなかったような?
my.iniのデータベースディレクトリはどこになってますか?
http://dev.mysql.com/doc/refman/4.1/ja/load-data …

MySQL バージョン 3.22.6 以降なら、クライアント側に置いてLOCAL指定した方がはやいかも。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/19 19:25

前にやったことがありますが、SJISだと文字化けすることがありました。


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

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

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

お礼日時:2006/03/19 19:23

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/19 19:24

Windows環境は使ったこと無いので、なんともいえませんが、


mysqlimportコマンドだとどうなるでしょうか。
    • good
    • 0
この回答へのお礼

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

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

お礼日時:2006/03/15 17:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報