- - PR -
CSVファイルのSQL文
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-04-27 22:12
こんにちは。
VB 6で開発してます。 CSVファイルをDBとしてSQLを実行させていますが、一部のSQLがエラーとなってしまいます。 "SELECT * FROM TEST.csv WHERE [AA] LIKE '%ああ%'" CSVファイルの形式は"aああa","bbb"のように全てダブルクォーテーションでくくった 文字列です。 お分かりになりましたら、よろしくお願いします。 | ||||||||||||||||
|
投稿日時: 2008-04-28 12:27
ど ん な エ ラ ー が 出 た ん だ い?
エラー内容を提示してくれなきゃ、答えられないって。 | ||||||||||||||||
|
投稿日時: 2008-04-28 13:41
ありがとうございます。
エラー内容は、構文エラーで演算子がありません、とでました。 like文なんですけど・・。 何かお分かりになりましたら、よろしくお願いします。 | ||||||||||||||||
|
投稿日時: 2008-04-28 17:22
そうですね。 問題なのは LIKE 演算子周辺でしょうね。 それだけ自分で調査できるならそのまま自己解決できそうです。 ときに "[AA]" とはなんでしょうか? どのデータ プロバイダを使っているのか知りませんが、データ プロバイダさんは列名を知っているのでしょうか。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||
|
投稿日時: 2008-04-28 17:44
ありがとうございます。
VB6での開発でして、[]内は列名となってます。 条件式で=のものは正常に取得できてます。 例えば、こんなSQLもあるのですが、取得できてます。 Select * From TEST.csv where ([BB]='0' or [BB]='1') ORDER BY [BB],[AA] プロバイダは Public Const DRIVER = "DRIVER={Microsoft Text Driver (*.txt; *.csv)};DBQ=" Public Const PRVDER = "Provider=MSDASQL;Extended Properties=""" Public uCN As New ADODB.Connection Public uRS As New ADODB.Recordset uCN.ConnectionString = PRVDER & DRIVER & "C:\" & """" uCN.Open Set uRS = uCN.Execute("SQL文") で取得しています。 自己解決どころか、あらゆるSQL文を試して同じ構文エラーとなる為、 like文はサポートされていないのかと途方にくれてます。 upadateなどの更新系もうまくいかず(これはInsertのみサポート?)、 やっぱりCSVをDBとして使うのは難しいのかと悩んでます。 ただ、PostgreSQLのODBCもうまくいかず・・。 VB 6って・・。 何かご存知でしたらよろしくお願いします。 | ||||||||||||||||
|
投稿日時: 2008-04-30 12:02
CSV ファイルにヘッダとしてそのフィールド名があれば問題ないハズです。
ConnectionString が妙な気がしますね。
で十分のハズです。
そんなことはありません。 当方では動作は確認済みです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||
|
投稿日時: 2008-04-30 18:44
ありがとうございます。
ご指摘の通りやってみました。 それでもエラーとなってしまい、省略はできても振り出し・・。 と、思いきや、条件式のandが抜けている事に気付きました。 like周辺ばかりいじっていましたが、お恥ずかしい限りです。 ここに書き込んだSQL文も省略したもので申し訳ありません、 ちょうど、CSVのファイルフォーマットを全て''くくりにした所で、 様式の違いとばかり思い込んでしまいました。 無事、私の方も動作確認できました。ありがとうございます。 また、Insert,Delete,Update文のSQLについてですが、 これはドライバとして元々無理なのでしょうか? MSDNのサイトにそれらしい文言はありましたが、 出来た事があると言う方ございましたら、ご意見いただければ幸いです。 | ||||||||||||||||
|
投稿日時: 2008-05-01 11:45
内部的にはリンクテーブル扱いですので、変更が発生する SQL コマンドの発行はできません。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |