Laboratory of Mobile Agricultural Chemicals Searcher
携帯農薬検索実験室

研究会

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
43 / 54 ページ <前へ | 次へ>

〔223〕Re:複数作物の登録状況一覧
 Hidemi Oya WEB  (06/06/06 0:56)

引用なし
    else 節が null だと order by Syurui がうまく使えなかったんですが、[#221] のように else "" にしたら order by が使えるようになりました。

select Syurui, Meisyo,
max(case when Sakumotu like "だいこん%" then Jiki||Kaisu else "" end) as Daikon,
max(case when Sakumotu like "はくさい%" then Jiki||Kaisu else "" end) as Hakusai,
max(case when Sakumotu like "キャベツ%" then Jiki||Kaisu else "" end) as Cabbege,
max(case when Sakumotu like "ブロッコリー%" then Jiki||Kaisu else "" end) Broccoli
from tekiyou where
(Syurui like "%水和剤" or Syurui like "%乳剤") and Youto like "殺虫剤" and
(Sakumotu like "だいこん%" or Sakumotu like "はくさい%" or Sakumotu like "キャベツ%" or Sakumotu like "ブロッコリー%")
group by Meisyo order by Syurui
・ツリー全体表示

〔222〕Re:農薬登録情報 Excel ファイル
 Hidemi Oya WEB  (06/06/06 0:40)

引用なし
   s_kobayashi さん、こん**は。Hidemi Oya です。

>というか、||の列挙なら正規表現でなくても、in (要素の列挙)で拾えるような気がします。
 IN って、ワイルドカード使えましたっけ?

 kabe さんのおかげで、[#218] のように主クエリだけの SQL 一発で検索可能な方法が判明しました。
・ツリー全体表示

〔221〕対象病害虫一覧
 Hidemi Oya WEB  (06/06/06 0:30)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

 列数固定クロス表は、下記のような感じでサブクエリ無し集約関数のみで実装できそうです。ただし、[#218] と違って、何故か else 節を NULL にするとうまく表示できません。

select Syurui, Meisyo, Jiki, Kaisu,
max(case Byogai when "べと病" then "●" else "" end) as beto,
max(case Byogai when "灰色かび病" then "●" else "" end) as haikabi,
max(case Byogai when "うどんこ病" then "●" else "" end) as udonko,
max(case Byogai when "斑点細菌病" then "●" else "" end) as hanten,
max(case Byogai when "褐斑病" then "●" else "" end) as kappan,
max(case Byogai when "菌核病" then "●" else "" end) as kinkaku
from tekiyou where Sakumotu like "きゅうり%" and
(Byogai = "べと病" or Byogai = "灰色かび病" or Byogai = "うどんこ病" or Byogai = "斑点細菌病" or Byogai = "褐斑病" or Byogai = "菌核病")
group by Meisyo
・ツリー全体表示

〔220〕Re:農薬登録情報 Excel ファイル
 s_kobayashi  (06/06/06 0:12)

引用なし
   >Hidemi Oyaさん

正規表現はsql99なのかもしれませんけれど、私の教科書「PerlDBI」には書いていませんので対応できていません。

というか、||の列挙なら正規表現でなくても、in (要素の列挙)で拾えるような気がします。

また試してみます。
・ツリー全体表示

〔219〕Re:ACFinder LocalDB版
 Hidemi Oya WEB  (06/06/05 23:37)

引用なし
   Sekizuka さん、こん**は。Hidemi Oya です。

 天敵 Wiki から早速釣られてきていただいて、ありがとうございます。

>(ウチだとプロキシ設定にしないと駄目)
 県庁 LAN で使用する場合は、いずこも同じだと思います。

>いずれ、各県別、設定集とか作ると便利かも。
 各県のセキュリティ上の問題で、ローカルアドレスとはいえ公開は難しくないですか? インターネットオプションに設定している HTTP の設定と同じなので、それを見てもらえば手動設定でも難しくないとは思いますが…。
 ま、[#127] で kabe さんが書かれているように、自動設定してもらうのが一番ですね。

 データベース更新速度については、Excel 不要版ができれば、改善されるかもしれません。
・ツリー全体表示

〔218〕複数作物の登録状況一覧
 Hidemi Oya WEB  (06/06/05 23:28)

引用なし
    指定作物の全農薬リストは、下記のようにサブクエリ無し集約関数のみで実現できました。農薬数が多くなりすぎるのと使い勝手を考えて、農薬の種類が "%水和剤" または "%乳剤" で、かつ用途が "殺虫剤" のみのものに限定しています。4作物全農薬でも結構高速です。

select Syurui, Meisyo,
max(case when Sakumotu like "だいこん%" then Jiki||Kaisu else null end) as Daikon,
max(case when Sakumotu like "はくさい%" then Jiki||Kaisu else null end) as Hakusai,
max(case when Sakumotu like "キャベツ%" then Jiki||Kaisu else null end) as Cabbege,
max(case when Sakumotu like "ブロッコリー%" then Jiki||Kaisu else null end) as Broccoli
from tekiyou where
(Syurui like "%水和剤" or Syurui like "%乳剤") and Youto like "殺虫剤" and
(Sakumotu like "だいこん%" or Sakumotu like "はくさい%" or Sakumotu like "キャベツ%" or Sakumotu like "ブロッコリー%")
group by Meisyo

 いやしかし、やっぱり作物リストを指定するだけで SQL に展開してくれるような支援機能が欲しいですね。[#214] のような文字列マクロじゃ、case 文の生成は無理なのであまり意味がないですね(^_^;)。
 VIEW とか PRAGMA を使っても無理なのかなあ…。

 話は変わりますが、フィールド名で、表記は "う" だけど読みは長音記号として使われる "う" が、Youto のように "u" が付いていたり、Meisyo のように "u" が省略されていたりするのは非常に分かりづらいので、どちらかに統一した方が良いと思います。それと、syu, syo などを指が勝手に shu, sho と打ってしまい、しょっちゅうエラーを出してます(^_^;)。
 フィールド名に日本語を使用するか、Meisyou でも Meisho でも使えるようにエリアスを設定してもらえると良さそうです。
・ツリー全体表示

〔217〕Re:ACFinder LocalDB版
 kabe WEB  (06/06/05 20:09)

引用なし
   >Sekizukaさん

kabeです。はじめまして。

>前のサーバ対応版もそうでしたが、接続の設定でつまずく人が多そうですね。
>(ウチだとプロキシ設定にしないと駄目)
レジストリからWindowsのインターネットオプションのプロキシ設定を読めるようにすれば、いいのかなと思いますが、まだ試したことがありません。
これは取り組んでみます。

#216
>自宅ではxpと98がありますが、EXCELがないので必須だと無理です。(^^;)
Excelに依存せずデータ変換できるよう修正版を作成中です。
もうしばらくお待ちください。
ただ、データベースを作成したら、DBフォルダを含めて自宅PCにコピーすれば検索はできます。
・ツリー全体表示

〔216〕Re:ACFinder LocalDB版
 Sekizuka  (06/06/05 14:49)

引用なし
   食事を終えて帰ってきたら流石に終わってました。
(もっと早かったのかも)
ざっと、動かしてみたところ、動作に支障はないようです。


当方の環境は、、、
OS:windows2000
CPU:Mobile Celeron 1.8GHz
RAM:245MB
EXCEL:2000版

後、何か影響ありそうな項目ってありますかね?

自宅ではxpと98がありますが、EXCELがないので必須だと無理です。(^^;)
・ツリー全体表示

〔215〕Re:ACFinder LocalDB版
 Sekizuka  (06/06/05 12:05)

引用なし
   kabeさん、こんにちは。神奈川のSekizukaです。
サーバ対応版も愛用しておりました。
現在、csvへの変換でプログレスバーが静かに動いています。

前のサーバ対応版もそうでしたが、接続の設定でつまずく人が多そうですね。
(ウチだとプロキシ設定にしないと駄目)
それとも単独庁舎とかで独自接続しているところはまだ多いんですかね。

いずれ、各県別、設定集とか作ると便利かも。
・ツリー全体表示

〔214〕Re:ACFinder LocalDB版
 Hidemi Oya WEB  (06/06/05 1:42)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

>イメージ的には次のようなSQLでいけそうです。(内容が正しいかどうか不明)
 おお〜、良い感じです! サブクエリ使っても思ったより速いですね。農薬名のところを Sakumotu で「きゅうり」と「トマト」にすれば、全農薬もいけそうです。とりあえず、2作物だけなら全農薬でも十分高速でした。

>SQLにこだわるよりは、こちらの方が簡単そうなので、そのうち入れます。
 上ができれば、フィールド数固定なら SELECT だけでいけるなと思ったら、すでに [#212] が書かれてますね。こちらも実に良い感じです。
 が、従来のクロス表のように全ての病害虫を一覧にするのは SELECT 文だけでは無理なので、従来版も実装してもらえると助かります。

 で、これらを試してみてて気づいた点…。
 SQL テキストボックスの行数が増えてもスクロールバーが出てこないのがちょっと辛いです。SQL テキストボックスは条件消去でクリアされないのもちょっと辛いです。ツールバーのボタンはマウスの移動距離も大きいので、テキストボックスの脇に「消去」と「実行」ボタンがあると良いですね。
 AS で作るフィールド名に日本語が指定できると良いですね。今は、LIKE とか = とかの演算子の右側の文字列リテラルだけコード変換してるのでしょうか? SQL 文全体を Shift-JIS -> UTF-8 変換するんじゃダメなのかなあ…。
 基本となるクエリ式は同じで、作物名/病害虫名/農薬名等の条件だけを変更したいという用途は多いと思います。これを支援するような機能があるとうれしいですね。どんな方法がよいかは検討の余地がありますが、たとえば下記のようにリストを条件式に展開するようなマクロが作れれば、マクロに渡すリストを変更するだけで簡単に条件変更できるようになります。マクロなら文字列置換だけで実装できそうなので楽かも…。

$sakumotu = 'Sakumotu, or, きゅうり% トマト%'
select Meisho from tekiyo where $sakumotu
// 先頭が $ ならマクロとしてデータを保存するだけでクエリを発行しない
// $sakumotu を「Sakumotu like 'きゅうり%' or Sakumotu like 'トマト%'」に展開してクエリを発行

>Excel なしのCSV変換はなんとかできそうです。
 こちらができれば、不可視の StringGrid にデータを入れて、そのデータから直接 INSERT 文を発行することでデータベース作成の高速化も可能かもしれませんね。
・ツリー全体表示

〔213〕Re:ACFinder LocalDB版
 Hidemi Oya WEB  (06/06/05 0:43)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

>MLは再募集するような話もあったような気がしますが、どうなったんでしょう。
 天敵 Wiki の談話室で菅原さんに出会った時に、農薬データベース利用者の ML があるといいですねと私も提案しておいたのですが…。

>今回の Excelデータを元データにしてシステムを作ってもらえば、一般公開には問題なさそうな気もしますが、どうなんでしょう。
 中央農研は自前サーバなので、自動更新も可能ですしね。これを菅原さんに提案しようかと考えてました。

>ただExcelデータには毒性がなかったりで、今と全く同じものを作ることはできませんね。
 そこなんですよね。本家更新のたびに部分自動更新、今まで通り月一程度に全データ手動更新なんて感じで運用してくれるとうれしいなあ。
 で、日付を渡すとその時刻以降に追加/変更/削除されたデータを渡してくれるようなクエリを追加してもらえば、こちらのデータ更新も楽になります。

>それにしても登録基本部の部分に毒性くらいは載せて欲しかったです。ここらへんは小出しにしているなという気もしないではない…
 同感。ま、登録票部分のデータは、必要ならその都度読みに行くという手もありますけどね。
・ツリー全体表示

〔212〕Re:ACFinder LocalDB版
 kabe WEB  (06/06/04 23:45)

引用なし
   >Hidemi Oyaさん

kabe です。

クロス表、これでできそうです。

SELECT Meisyo ,Jiki,Kaisu,
MAX(CASE WHEN Byogai = "べと病" THEN "●" ELSE "x" END) AS BETO ,
MAX(CASE WHEN Byogai = "灰色かび病" THEN "●" ELSE "x" END) AS HAIKABI ,
MAX(CASE WHEN Byogai = "褐斑病" THEN "●" ELSE "x" END) AS KAPPAN
FROM
(SELECT Meisyo,Byogai,Sakumotu,Jiki,Kaisu FROM tekiyou WHERE (Byogai LIKE "べと病" OR Byogai LIKE "灰色かび病" OR Byogai LIKE "褐斑病") AND
Sakumotu LIKE "きゅうり%")
GROUP BY Meisyo

CASE WHEN 〜 の行を先に作っておく必要ありますが、事前に病害虫名を単一化してリストを作ればなんとかなりそうです。
・ツリー全体表示

〔211〕Re:農薬登録情報 Excel ファイル
 Hidemi Oya WEB  (06/06/04 23:33)

引用なし
   s_kobayashi さん、こん**は。Hidemi Oya です。

>my $sqldata=qq(select meishou,shiyoukaisuu,jiki from tekiyoubu where meishou like "%$meishou%" and sakumotsumei like "$sakumotsu");
 これが何でダブルのループなんだろうと思ったんですが、perl 側で農薬名と作物名のリストからそれぞれひとつずつ取り出して、その回数分 SELECT を繰り返しているってことなんですね。MySQL では正規表現が使えるので、下記のようなクエリにすれば、ループ無しで検索できます。で、農薬名を第1キー、作物名を第2キーにした2次元ハッシュに回数と時期を連結した値を保存していけば、あとで簡単に表の形で取り出せます。さらに、農薬名をハッシュキーにする際に、tm.pm を使って屋号を削除すれば、ハッシュ保存の段階で屋号抜き通称名でグルーピングでき、ハッシュデータサイズも削減できます。
 なお、MySQL で大きなデータでは試したことがありませんが、小さなデータでは正規表現によるオーバーヘッドは感じませんでした。

$re_sakumotsu = join('|', split(/[ \,]| |、|,/, $in_sakumotsu));
$re_meishou = join('|', split(/[ \,]| |、|,/, $in_meishou));
// ユーザが正規表現でリストを渡すようにした方が使い勝手が良いかな
$sqldata = "select meishou, shiyoukaisuu, jiki from teiyoubu where meishou regexp '$re_meishou' and sakumotsumei regexp '^($re_sakumotsu)$'";

> oyaさんの希望を叶えるには、事前に商標・商品名テーブルを用意するか、データベースに一回当たらないと難しいと思います。
 もちろん、屋号抜き通称名にまとめられている方がベターなのは言うまでもないですが、屋号付き農薬名ごとに異なる行になっていれば、Excel で削除するのは簡単なので、検索システム側であえて屋号を外した状態になってなくても OK です。
 ただ、上の方法なら屋号抜き通称名ごとのグルーピングもデータベースを使用することなく可能だと思います。

 ついでに、この方法でいくなら、農薬指定がない場合は、
$sqldata = "select meishou, shiyoukaisuu, jiki from teiyoubu where sakumotsumei regexp '^($re_sakumotsu)$'";
で検索するようにするだけで、リストにあげた作物に登録がある全農薬の表も作れます(用途を検索条件にして農薬数を制限しないと実用上は厳しいでしょうけど)。[#203] で書いた機能とはちょっと違いますが、こちらでも十分です。
 ってことで、メインのプロジェクトが落ち着いたら、こちらの手法もご検討ください。

>私の組織では、農薬名の記載されたあらゆる資料の作成について農薬検査所データベースによる複数回チェックが義務づけられています。
 うちもそうです。ってか、防除基準の誤記載等が問題になってから、多分いずこも同じ状況なんでしょうね。

>内容も必要事項だけに絞り込まれているのでチェックが容易です。作業能率は10倍以上改善できると期待しています。
 農薬検査所の検索結果はいらないモノも全て出てきますからねえ…。JPP-NET は検索条件に合致する適用のみが表示されますが、この目的には農薬ごとに検索する必要があるので、s_kobayashi さんのシステムが一番便利ですね。
・ツリー全体表示

〔210〕Re:ACFinder LocalDB版
 kabe WEB  (06/06/04 23:07)

引用なし
   >Hidemi Oyaさん

kabe です。

> 話は全く変わりますが、農薬ナビ版の ACFinder が GW 明けに更新されてたんですね。研究会専用の ML を設置し直して、こういった情報を提供してくれると良いんですけどね。
サーバのアドレスが変わったので、それに対応したくらいです。
MLは再募集するような話もあったような気がしますが、どうなったんでしょう。

> しかし、一般公開の「農薬DB検索(機能限定版)」が http://riss.narc.affrc.go.jp/ から消えてしまったのに、研究会限定の「登録農薬データベース検索」が一般公開される気配は無し…。いつになったら、みんなが使えるようになるんだろう…。
今回の Excelデータを元データにしてシステムを作ってもらえば、一般公開には問題なさそうな気もしますが、どうなんでしょう。
ただExcelデータには毒性がなかったりで、今と全く同じものを作ることはできませんね。それにしても登録基本部の部分に毒性くらいは載せて欲しかったです。ここらへんは小出しにしているなという気もしないではない…
・ツリー全体表示

〔209〕Re:ACFinder LocalDB版
 kabe WEB  (06/06/04 22:28)

引用なし
   >Hidemi Oyaさん

>[#184] のような列数固定の表なら SELECT 文だけでいけそうだと思って取り組んでみたんですが、サブクエリの書き方が分からない…(^_^;)。
「SQL クロス集計」で検索してみました。
イメージ的には次のようなSQLでいけそうです。(内容が正しいかどうか不明)
SELECT Meisyo ,
MAX(CASE WHEN Sakumotu = "きゅうり" THEN Jiki||Kaisu ELSE NULL END) AS KYURI ,
MAX(CASE WHEN Sakumotu = "トマト" THEN Jiki||Kaisu ELSE NULL END) AS TOMATO
FROM
(SELECT Meisyo,Sakumotu,Jiki,Kaisu FROM tekiyou WHERE (Sakumotu LIKE "きゅうり" OR Sakumotu LIKE "トマト") AND No IN
(SELECT No FROM tekiyou WHERE Meisyo LIKE "ダコニール%" OR Meisyo LIKE "トップジン%")
)
GROUP BY Meisyo

> それはそれとして、クロス表はすでにできていたルーチンを使って実装できないんでしょうか?
SQLにこだわるよりは、こちらの方が簡単そうなので、そのうち入れます。

Excel なしのCSV変換はなんとかできそうです。
・ツリー全体表示

〔208〕Re:ACFinder LocalDB版
 Hidemi Oya WEB  (06/06/04 21:46)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

>ちなみに文字コードは UTF8に変換して入れています。
 perl で encoding プラグマを使った時は、実行時の内部形式は UTF-8 なので EUC を使っても問題は無いんですが、Delphi で正規表現ライブラリを使って文字列置換を行う場合は EUC でもやはり問題が発生することがあり得るので、UTF-8 が一番無難です。

 話は全く変わりますが、農薬ナビ版の ACFinder が GW 明けに更新されてたんですね。研究会専用の ML を設置し直して、こういった情報を提供してくれると良いんですけどね。
 しかし、一般公開の「農薬DB検索(機能限定版)」が http://riss.narc.affrc.go.jp/ から消えてしまったのに、研究会限定の「登録農薬データベース検索」が一般公開される気配は無し…。いつになったら、みんなが使えるようになるんだろう…。
・ツリー全体表示

〔207〕Re:農薬登録情報 Excel ファイル
 s_kobayashi  (06/06/04 20:14)

引用なし
   >Hidemi Oyaさん

>>セルの商品名はオプションで選べる方がいいのでしょうか。
> 上記のように農薬名と適用の列を分けるよりは、こちらの方が使いやすそうですね。
> ただ、剤型も含めて農薬を指定するのは面倒なので、リストには剤型をしてなくても [#203] のような結果が得られるというのが、使用する立場としては一番楽かなあ…。

 私のDBのテーブルは、登録適用部?.xlsのシート3と全く同じ構成になっています。
 そこで、

my $sqldata=qq(select meishou,shiyoukaisuu,jiki from tekiyoubu where meishou like "%$meishou%" and sakumotsumei like "$sakumotsu");

 で「%農薬の名称%」「作物名」のリストによるダブルのループでsqlを生成しデータベースを検索しています。得られた「農薬の名称」「本剤の使用回数」「使用時期」を.でつなぎ合わせ、屋号を切り捨てて、sort+uniqでセルの内容を作り出しています。

 oyaさんの希望を叶えるには、事前に商標・商品名テーブルを用意するか、データベースに一回当たらないと難しいと思います。ただ、いまでもダブルループで負荷を掛けていて、5×6件くらいのリストでレスポンスに数秒程度かかっています。これ以上データベースに負荷を掛けるべきか、事前処理で要素を整理するかは議論する必要があると思います。


> ところで、この表の行は、クエリで一気に出力レコードとして作ってるんでしょうか? それとも HTML テーブルにする際に、クエリの結果を変換してるんでしょうか? もし前者なら、ACFinder でも同様のことが可能になるので、ぜひどのようなクエリを使っているのかをお教えください。

 種明かしは上記のとおりです。表の行はforeachループが作り出しています。クエリはセルの内容しか作りません。

>> 農薬名リストの入手先を変えればいいだけですけれど、それはUIも含めて大きな変更になりそうですね。いまのものとは別のプロジェクトにして進化させる方が良いかもしれません。
> 暇がある時で結構なので、ぜひご検討をお願いします。

 分かりました。メインのプロジェクトが落ち着いたら考えてみます。

>> ちなみに私のねらいとする農薬検索プロジェクトはこちらです。
> なるほど、<a href="http://riss.narc.affrc.go.jp/nouyaku.htm">農薬ナビ</a>のような使い方ですね。成分ごとの総使用回数に配慮した防除パターンを作成する場合や、特別栽培のチェックの際などには便利そうです。

 農薬ナビの成果はよく把握していませんが、技術資料作成支援に近いかもしれません。私の組織では、農薬名の記載されたあらゆる資料の作成について農薬検査所データベースによる複数回チェックが義務づけられています。防除暦などのチェックは膨大な作業が必要になっていました。そこで、省力的なチェック用の紙データを作るのが目的でした。

 このシステムを使って、起案者が正確なバックデータを付けて回覧するようになれば、二次チェック者は出典の日付が正しいかどうかだけに注意すればデータベースを確認しなくてもチェックを進めることが出来ます。内容も必要事項だけに絞り込まれているのでチェックが容易です。作業能率は10倍以上改善できると期待しています。

 成分回数チェックはエコ農産物の申請書類用に付けたおまけです。データベースらしくて面白いかなと思ってつくりました。(*^_^*)
・ツリー全体表示

〔206〕Re:農薬登録情報 Excel ファイル
 Hidemi Oya WEB  (06/06/04 18:02)

引用なし
   s_kobayashi さん、こん**は。Hidemi Oya です。

>oyaさんの作物名置換テーブルを参考にさせて頂きます。(^^ゞ
 いくらでもご利用ください。

> そのような場合は、剤型までリストに含めてください。
 それは分かっているんですが、
> でもそうすると、いまの出力例では行タイトルにもセルにも商品名が入って邪魔ですね。
が問題です。農薬名と適用の列が分かれてないので、Excel で列ごと一気に削除というわけにもいきませんから。
>セルの商品名はオプションで選べる方がいいのでしょうか。
 上記のように農薬名と適用の列を分けるよりは、こちらの方が使いやすそうですね。
 ただ、剤型も含めて農薬を指定するのは面倒なので、リストには剤型をしてなくても [#203] のような結果が得られるというのが、使用する立場としては一番楽かなあ…。

 ところで、この表の行は、クエリで一気に出力レコードとして作ってるんでしょうか? それとも HTML テーブルにする際に、クエリの結果を変換してるんでしょうか? もし前者なら、ACFinder でも同様のことが可能になるので、ぜひどのようなクエリを使っているのかをお教えください。

> 農薬名リストの入手先を変えればいいだけですけれど、それはUIも含めて大きな変更になりそうですね。いまのものとは別のプロジェクトにして進化させる方が良いかもしれません。
 暇がある時で結構なので、ぜひご検討をお願いします。

> ちなみに私のねらいとする農薬検索プロジェクトはこちらです。
 なるほど、農薬ナビのような使い方ですね。成分ごとの総使用回数に配慮した防除パターンを作成する場合や、特別栽培のチェックの際などには便利そうです。
・ツリー全体表示

〔205〕Re:農薬登録情報 Excel ファイル
 Hidemi Oya WEB  (06/06/04 17:31)

引用なし
   s_kobayashi さん、こん**は。Hidemi Oya です。

MySQL 3.x はよく分かりませんが、少なくとも MySQL 4.1 以降では、データベース作成時に文字コードを指定すればそれで保存され、データベースの文字コードにかかわらず、SET CHARACTER SET で指定した文字コードで接続/入出力が行われる(データベース内と入出力の文字コードが異なる場合は MySQL が自動的に変換する)と書かれています(もっとも、MACS for acis 3.x は元データが UTF-8、携帯農薬実験室のトピックは RSS 配信が UTF-8 のため、MySQL を UTF-8 でしか使ったことがないのでこれを確認したことはありませんが^^;)。
 で、これからいうと、[#197] で書いたいずれかの方法で EUC-JP で使えるのではないかと思ったんですが、それに対しての回答はなかったので、「試してみたけどダメだった」と解釈しました。とすれば恐らく MySQL 側の問題と考えられるため、
> perl 側の encoding プラグマは関係ないと思いますけど…。
と書いた次第です。
 が、perl 5.8.0 だと encoding プラグマの全ての機能を利用できないので、影響が出ることがあるかもしれません。また、DBI モジュールがデータベース接続及び入出力に PerlIO レイヤを経由していない場合、perl5.8.0 以降では encoding プラグマを使っていても接続及び入出力は UTF-8 になりますね。

 考えてみたら、ECU-JP でレコードを書き込んで、それが自動的に UTF-8 に変換されて保存されているということは、[#200] で書いたような原因でもなさそうです。となると、DBI モジュールですかねえ?
 PHP も UTF-8 で使うのが無難ですから、複数処理系から利用できる汎用的なデータベースを構築する際は、機種依存文字やデータサイズに目をつぶっても UTF-8 ベースにしておくのが無難かもしれませんね。
・ツリー全体表示

〔204〕Re:農薬登録情報 Excel ファイル
 s_kobayashi  (06/06/04 16:52)

引用なし
   >Hidemi Oyaさん

 試用レポートありがとうございます。

> 若干気になった点を…。
> デリミタに全角読点以外に半角/全角スペースや半角カンマも使えるようですが、全角カンマや半角読点はデリミタとして認識してくれません。半角読点はともかくとして、IME を全角読点の代わりに全角カンマに設定している人もいるでしょうから、少なくとも全角カンマはデリミタとして認識してくれた方が使いやすいかもしれません。

 これは、s///g置換で半角スペースにしてsplitしているだけなので、対象文字はいくらでも増やせます。ご指摘の文字は近日中に追加します。

> 元データの作物名が漢字/ひらがな/カタカナな混じりなのでしょうがないんですが、少なくともひらがな/カタカナは気にせず使えた方が便利です。

 置換テーブルは次期プロジェクトで対応します。(1)正確な作物名を入れる、(2)表記ふれのある作物名にも対応する、(3)それらを踏まえてシソーラスに対応する、の3段階で対応できればと思います。とりあえず、oyaさんの作物名置換テーブルを参考にさせて頂きます。(^^ゞ

> 下記のように、剤型が異なる農薬は別行で出力してくれると、後で Excel 等に読み込んで整形する際に使いやすいと思います。

 そのような場合は、剤型までリストに含めてください。
例)スミチオン乳剤、スミチオン水和剤、オルトラン粒剤、オルトラン水和剤

 でもそうすると、いまの出力例では行タイトルにもセルにも商品名が入って邪魔ですね。セルの商品名はオプションで選べる方がいいのでしょうか。

> できれば欲しい機能としては、1つの対象作物と複数の周辺作物を指定し、対象作物に登録のある全ての農薬を自動的に抽出して同様の表を作成できれば便利ですね。この場合、農薬数が多くなりすぎるので、殺虫剤/殺菌剤別などを最初に指定できればさらに good です。

 農薬名リストの入手先を変えればいいだけですけれど、それはUIも含めて大きな変更になりそうですね。いまのものとは別のプロジェクトにして進化させる方が良いかもしれません。

 ちなみに私のねらいとする農薬検索プロジェクトはこちらです。
 今日完成したばかりで全く練れていないのですが、良かったら試してください。

http://otori.homes.com.au/yaku2.html

検索例
作物名:%稲%
農薬商品名1:ミスターホームランD Lジャンボ
対象病害虫名1:ホタルイ
農薬商品名2:オリゼプリンスアドマイ
対象病害虫名2:いもち
農薬商品名3:アプロードパダン粉
対象病害虫名3:コブノメイガ
農薬商品名4:テクリードCフロアブル
対象病害虫名4:いもち
農薬商品名5:ブラシンジョーカーフロアブル
対象病害虫名5:カメムシ
・ツリー全体表示

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
43 / 54 ページ <前へ | 次へ>
ページ:  ┃  記事番号:   
(SS)C-BOARD vv3.8 is Free.