タイトル : Re^2: CSVを読み込みたい 投稿日 : 2023/02/18(Sat) 21:35 投稿者 : 初老のVB.NET開発者
魔界の仮面弁士さま、いつも投稿を拝見させていただいております。 > > da.Fill(CSVData)←ここでエラーになります。 > 質問時には、正確なエラーメッセージを示しましょう。(^_^; エラー内容を示していなくて申し訳ありませんでした。 ex。Messegeで内容を確認したところ、 「'(ファイルが置かれているパス)¥TEST.csv'は正しくありません。 パス名に間違いがないことと、ファイルが置かれたサーバに接続して いることを確認してください。」 です。 > とりあえず、まず調べるべきは、 > 1) そのアプリは、32bit プロセスで稼働しているのか、それとも 64bit プロセスなのか 環境としては、32bitで稼働しています。 > 2) そもそも実行環境に、Jet 4.0 Provider がインストールされているのか Jetはインストールされています。 > 3) CSV の型を明示指定するための Schema.ini ファイルの配置は行われているのか すいません、これについては確認方法を検討がつかない状況です。 > 4) ファイルのパス指定に問題がある。 これは、ファイルをダイアログで選択しているので間違いはないと思っています。 > > 同じ方法でEXCELのデータを読み込むことには成功しているので > 本当に「同じ」方法ですか? 実際は微妙に違うコードだったりしませんか? > CSV とでは、Extended Properties の指定方法が異なるはずで、 > このコードのままでは読めないはずなのですが…。 最初、「Extended Properties」に設定していたのは「ACE.OLEDB12.0」でしたが それでも読み込めなかったのでJETに変更してみました。 > > > > Dim FileNM As String = Mid(FilePath, InStrRev(FilePath, "\")+1) > 素直に Path.GetFileName を使いましょう。VBA では無いのですから…。 すいません。.netに不慣れなもので「Path.GetFileName」が使えることを 知りませんでした。 > > [FileNM]には前処理でダイアログで選択したファイルパスが > > 入っています。 > FileNM に入っているのは、ファイルパスでは無いですよね。 > ファイルパスが入っているのは FilePath では無いでしょうか。 すいません。表記を間違っていました。ここは「FilePath 」です。 > > それに、Extended Properties="Text;" モードの場合、 > Data Source に指定するべきはディレクトリのパスであって、 > ファイルのパスでもファイル名でもないはず…。 もしかして、これって「Data Source」に指定するのは 「(ファイルが置かれているパス)¥TEST.csv」ではなく 「(ファイルが置かれているパス)¥」とするってことでしょうか? だとすると「FilePath」には「(ファイルが置かれているパス)¥TEST.csv」までが 入っているので、間違いってことですね。 |