フォーラムへの返信
-
投稿者投稿
-
MZPlatformユーザー会キーマスター
ご連絡ありがとうございます。
こちらの環境では再現は難しく検証はできませんでしたが、また何か問題が生じましたら、どうぞご連絡ください。
貴重な情報のご提供ありがとうございます。MZPlatformユーザー会キーマスターご連絡ありがとうございます。
ご指摘の通り正規表現では半角円マークはエスケープ文字として使用されてしまうため、単独の円マークを引数に設定すると上手く置換できないかと思います。正規表現として2つ円マークを重ねることになります。正規表現はピンポイントに文字を置換するのではなく、条件に適合する文字列を探し置換するのに適しています。あいまい検索なども正規表現を使ってできます。
例えば、「ABCD1234567EFG」という郵便番号が含まれた文字列を「ABCD〒123-4567EFG」と変更するとします。メソッド「正規表現に適合する最初の文字列を置換する(String,String)」の引数0に「(\d{3})(\d{4})」(=数字3桁と4桁が連続する文字列)、引数1に「〒$1-$2」を指定すると「ABCD〒123-4567EFG」と置換されます。「指定文字列と一致する・・・」では引数0に「1234567」と指定しそれ以外は置換できませんが、上記正規表現では7桁の数字であれば置換されるのが違う点です。以上ご不明な点がございましたら、どうぞ再度ご連絡ください。
よろしくお願い申し上げます。MZPlatformユーザー会キーマスターご連絡ありがとうございます。
確かにMySQLでは「\」が特殊文字のため、データ追加時にエスケープ用にもう一つ「\」を重ねないと消えてしまいます。これを回避するには、
➀[文字列格納変数]を追加し、パスを一旦[文字列格納変数]に設定します。
➁メソッド「指定文字列と一致するすべての文字列を置換する(String,String)」
引数0:¥(実際は半角)、引数1:¥¥(実際は半角)で文字列内の全ての単独円マークを2つの円マークに置換することができます。
➂[文字列格納変数]から文字列を取得して、MySQLへのinsert用のデータとします。メソッド「指定文字列と一致する最初の文字列を置換する(String,String)」では文字列の中に出現する1つ目の文字列しか置き換えられませんが、「すべての・・・」を方を使うと、出現する全部の文字列が置換されます。
上記お試しいただき、ご不明な点やご要望がございましたら、どうぞ再度ご連絡ください。
よろしくお願い申し上げます。MZPlatformユーザー会キーマスターご連絡ありがとうございます。
1)MZプラットフォームのラズパイ上での動作確認が済んでいるのは3.6までで、MZ4.0は未検証部分があり、同じ機にMZとInfluxDBを一緒に入れる場合はMZ3.6を使用することになります。
ご不便をお掛けいたしますが、[InfluxDBアクセス]コンポーネントはMZ4.0リリースに含まれているもので、MZ3.6で動作するかは確認が済んでおりません。
検証のために、さらにお時間を頂ければと存じます。2)ラズパイにインストールされているInfluxDBへの他PC上のMZ4.0からのアクセスは可能ですので、お試しください。
MZ3.6での検証が済みましたら、結果をこの掲示板に投稿いたします。
ご不明な点、ご要望等ございましたら、再度ご連絡いただければ幸いです。
よろしくお願いいたします。MZPlatformユーザー会キーマスターファイルサイズの関係でjarファイルが上手く添付できませんでしたので、改めて分割して添付いたします。全て同じjars/influxdbへ入れてください。
サンプルアプリは前回答のinfluxDBSearch.zip内です。- この返信は1ヶ月、 3週前にMZPlatformユーザー会が編集しました。
- この返信は1ヶ月、 3週前にMZPlatformユーザー会が編集しました。
- この返信は1ヶ月、 3週前にMZPlatformユーザー会が編集しました。
MZPlatformユーザー会キーマスターご連絡ありがとうございます。
現在開発中のコンポーネントがありますので、これを使用して接続可能かお手数ですがご確認ください。1)JARファイルインストール
添付のjars.zipの中のinfluxdbフォルダ内のjarファイルを\MZPlatform\4.0\jars\influxdb内へコピーして入れます。2)MZPlatform\4.0\etc\PlatformClassPath.iniの設定
ファイル内にjars/influxdbフォルダ内のjarファイルへのパスの記述があります。既にある記述はコメントアウトし、新規にインストールしたjarへの記述を追加します。以下の様になります。
=====変更前=====
# influxdb
jars/influxdb/influxdb-java-2.23.jar
jars/influxdb/okhttp-4.10.0.jar=====変更後=====
# influxdb
#jars/influxdb/influxdb-java-2.23.jar
#jars/influxdb/okhttp-4.10.0.jar
jars/influxdb/influxdb-java-2.21.jar
jars/influxdb/okhttp-3.14.9.jar
jars/influxdb/okio-1.17.2.jar
jars/influxdb/annotations-13.0.jar
jars/influxdb/assertj-core-3.18.1.jar
jars/influxdb/converter-moshi-2.9.0.jar
jars/influxdb/kotlin-reflect-1.4.10.jar
jars/influxdb/kotlin-stdlib-1.4.10.jar
jars/influxdb/kotlin-stdlib-common-1.4.10.jar
jars/influxdb/logging-interceptor-3.14.1.jar
jars/influxdb/moshi-1.11.0.jar
jars/influxdb/moshi-kotlin-1.11.0.jar
jars/influxdb/msgpack-core-0.8.7.jar
jars/influxdb/retrofit-2.9.0.jar
=============3)[InfluxDBアクセス]およびサンプルアプリケーションの使用
[InfluxDBアクセス]コンポーネントは、アプリケーションビルダー上で[コンポーネント追加]>[クラス指定…]でクラス「jp.go.aist.dmrc.platform.beans.influxdb.PFInfluxdbAccessor」を指定すれば追加できます。簡単に接続確認を行うためにサンプルファイル「InfluxDB検索テスト.zax」を添付いたします。[inluxDB]複合コンポーネント内に[InfluxDBアクセス]が入っています。
サンプル内で使用されている主なメソッドは
「openConnection(String,String,String,String)」
引数0:データベースのURL、引数1:ユーザ名、引数2:パスワード、引数3:データベース名
「getWhereDataLimit(String,String,Integer,Integer)」
引数0:メジャメント名、引数1:検索条件、引数2:昇順降順(0or1)、引数3:取得件数
です。1.アプリケーションビルダーからファイルをロードし、ツールボタン[実行]を押すと画面が表示されます。左上の「DB接続設定」ボタンを押すと、小さい接続設定の画面が表示されますので、URLやユーザ名、パスワード等ご自分の設定に合わせて書き換えます。
2.メジャメントの[テキストフィールド]を書き換えます。
3.「検索実行」ボタンを押して何かしらのテーブルデータが表示されれば接続成功です。エラー等確認できるよう「アプリケーションビルダー(コンソール)」でのロードをお勧めいたします。
[InfluxDBアクセス]のJavadocはMZPlatformインストールフォルダー内の「docs/javadoc/jp/go/aist/dmrc/platform/beans/influxdb/PFInfluxdbAccessor.html」です。
なお、InfluxDBV2を使用する場合は、追加で設定が必要です。テーブルデータが取得できれば、MZのグラフコンポーネントでグラフ化が可能かと存じますが、まずは目的のデータが取得できるかお試しいただき、再度ご不明な点をお問い合わせくだされば幸いです。お手数をお掛けいたしますが、どうぞよろしくお願い申し上げます。
- この返信は1ヶ月、 3週前にMZPlatformユーザー会が編集しました。
添付ファイル:
MZPlatformユーザー会キーマスター回答にお時間を頂き申し訳ございません。
現在開発中のコンポーネントを使用し、手元の環境でInfluxDBからデータを取得できることを確認いたしました。ただし、コンポーネントについてはまだ追加の改修が必要で、意図したデータの取得をしようとすると複雑になる可能性があります。また、MZ PlatoformからInfluxDBへの接続のために幾つかJarファイルや、Influx Clientからの設定が必要です。
よろしければJARファイルや設定方法等ご紹介いたしますので、InfluxDBのバージョンやデータ内容など差し支えない範囲でお教えいただければ幸いです。どうぞよろしくお願い申し上げます。
MZPlatformユーザー会キーマスターお問い合わせありがとうございます。
現在調査に時間が掛かっております。もうしばらく回答までにお時間を頂ければと存じます。また、使用するInfluxDBのバージョンによっても接続方法、接続可否に違いがある可能性があります。お手数ですが接続先のInfluxDBのバージョンをお教えいただけないでしょうか。
どうぞよろしくお願い申し上げます。MZPlatformユーザー会キーマスターご連絡ありがとうございます。
過去のFAQや掲示板投稿をご確認いただいたとのこと有難うございます。
ご推察の通り、アップデートによりMZインストール時とは違うPCの環境と認識されている可能性があります。色々お試しいただいた後ということで、大変お手数ですがライセンスの再申請をしていただいた方が早いかと存じます。「ライセンス」画面の「ライセンス申請ファイル生成」ボタンを押し(この時点でライセンス申請ファイルは上書きされます)、手順に従ってライセンス申請をお願いいたします。
もし「ライセンス申請ファイル生成」できない場合は、MZPlatform\バージョン\etcフォルダ内に「PFLicenseKey.mzk」と「PFLicenseKey.mzl」があります。この2つのファイルを別な場所に移動してしまえば、新規にライセンスファイルの申請ができるようになるかと存じます。ライセンス取得し動作確認後、旧い2つのファイルは不要になります。以上大変ご面倒をお掛けいたしますが、どうぞよろしくお願い申し上げます。
MZPlatformユーザー会キーマスターご連絡ありがとうございます。
大変申し訳ございませんが、こちらはJavaの印刷属性の仕様となっており、回避することができません。手動でチェックを外すことになります。
お手数をお掛けいたしますが、どうぞよろしくお願い申し上げます。 -
投稿者投稿