SQLの新規テーブルについて

MZ Platformとは 掲示板 MZプラットフォームユーザー会掲示板 SQLの新規テーブルについて

  • このトピックには5件の返信、2人の参加者があり、最後にTatsunori0583により1ヶ月前に更新されました。
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #7434
    Tatsunori0583
    参加者

    お世話になります。

    新規のsqlファイル形式のテーブルを
    工程管理サンプルアプリケーションで使ったproductionのprojectみたく
    ビルダー上に反映させたいのですが方法をご教示お願いします。
    取り合えず自分で作成したテーブルを反映させたいので手段は問いません。

    #7438
    MZPlatformユーザー会
    キーマスター

    ご連絡ありがとうございます。
    1)まず、事前準備としてJDBCドライバをMZPlatform\4.0\jars\extフォルダに配置します。使用するデータベースによってドライバ名や入手方法は変わりますが、MySQLの場合はMySQL Insrtallerからダウンロードできます。

    2)一番簡単にご自分のデータベースにMZから接続できるか確認するには、MZPlatform\4.0\AP_DATA\Sampleフォルダ内の「データベースアクセス_1.mzax」あるいは「データベースアクセス_4.mzax」を使っていただくのが良いかと思います。
    MySQLをお使いの場合は、パスワードの欄にパスワードを入力し、「接続」ボタンを押すと画面にツリー図が表示され、フォルダを展開してノードをクリックすると右側にテーブルが表示されます。
    他のデータベースをお使いの場合は「データベースアクセス_4.mzax」で「登録名」のところをクリックすると他のデータベース名を選べ、ドライバーやサーバー名などを各DBに合ったものに変更できます。

    3)接続確認ができましたら、MZ上に目的のデータベースのテーブルのみの表示を試みます。
    上記サンプル、また添付のファイルでもデータベース名「production」を指定していますので、目的のテーブルがあるデータベースに合わせてデータベース名欄を変更します。

    検索SQLの基本的な文は「SELECT 列名1, 列名2, FROM テーブル名」ですが、例えば工程管理のtaskテーブルの内容を取得するとき「select id, process, projectLabel, workingTime, dateStart, dateEnd, isCompleted from task」というSQL文を実行しています。
    このSQL文を目的のテーブル名、列名に変更します。初めは「SELECT * FROM テーブル名」で全列取得してみて、その後「*」の部分を列名に変更しても良いかと存じます。

    以上1)の事前準備と3)の変更はWEB版『工程管理チュートリアル1』の「2.2 検索結果のテーブルへの設定」までがご参考になるかと存じます。https://ssl.monozukuri.org/mzplatform/docs_web/mztutorialtop.html
    から チュートリアル>工程管理アプリケーション作成をクリックして表示されるページをご覧ください。
    上記WEB版『工程管理チュートリアル1』のサンプルファイルはページ上部のリンクから取得できますが、[ガントチャート]は削除して2.2章までの内容にしたものを添付いたします。
    データベース名およびパスワードと複合コンポーネントのメソッド「検索SQLを実行する」の引数(SQL文)を変更してご確認ください。

    またhttps://ssl.monozukuri.org/mzplatform/docs_web/mztutorialdatabase.htmlページ下部の「データベースからのデータ取得の流れ」項の内容のように、複合コンポーネントを使わず[データベースアクセス]コンポーネントの引数に接続情報を設定し、SQL文を実行してテーブルデータの取得も可能です。

    まずは以上ご確認いただき、ご不明な点、ご要望がございましたら、再度ご連絡いただければ幸いです。どうぞよろしくお願い申し上げます。

    添付ファイル:
    #7446
    Tatsunori0583
    参加者

    ご対応ありがとうございます。

    色々とご説明が不足して申し訳ありませんが実はガントチャートのコンポーネントを使った簡易的な進捗表を作成しておりましてそれに対応して新規のテーブル・sqlを作成してそのデータが反映されることを目的としております。
    テーブル名はProdutionのを参考に
      作業(varchar型)
    開始時刻(日付)
    終了時刻(日付)
    作業時間(分)(int)
    でテーブルを作成しており,batファイルもProdutionを参考に
    “%MYSQL_HOME%\bin\mysql.exe” -u root -p < Prodution.sql
    のProdution.sql →prograss.sqlに直して起動をしていますが

    ERROR 1231 (42000) at line 31: Variable ‘character_set_client’ can’t be set to the value of ‘NULL’

    の表示が出てしまい実行できません。

    厚かましいことですが.sqlのテキストファイルとmzaxファイルを添付致しまして,ご査収とご教示のほどよろしくお願いいたします。

    #7448
    Tatsunori0583
    参加者

    添付致します。

    #7449
    MZPlatformユーザー会
    キーマスター

    ご連絡ありがとうございます。

    1)申し訳ございません。この掲示板へのファイルのアップロードですが、mzaxファイルやbatファイルはそのままではアップロードできないため、フォルダーに入れて圧縮してからアップロードしていただけないでしょうか。大変ご面倒をお掛けいたしますが、よろしくお願いいたします。

    2)ファイルを拝見する前ですが、「prodution.sql」のファイルの内容を変更して実行したところ、ERROR 1231 (42000) at line 31: Variable ‘character_set_client’ can’t be set to the value of ‘NULL’のエラーが出てしまうということですが、
    編集の際7行目にある「/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;」の記述を削除したり、変更してしまってはいないでしょうか。
    手元のファイルで確認したところ、この記述はファイルの最初の(7行目)と最後の部分(71行目)にあり最初の方を削ってしまうと、後半の部分で引っ掛かってしまうようです。

    この記述はファイル実行のために絶対必要というわけではないので、エラーが解決できないようでしたら、2箇所ともコメントアウトあるいは削除して試してみてください。

    また、データベーステーブルの作成も、batファイルでの実行が便利ではありますが、MySQL command Line Clientから「--」や「/*!」が先頭についていない記述の部分(例:CREATE DATABASE IF NOT EXISTS production;)を入力していっても作成できます。

    3)ガントチャートについては、WEB版『工程管理チュートリアル1』ページにあるように、テーブルデータがあれば[グラフデータ作成]複合コンポーネントで簡単に表示できます。

    以上ご確認いただき、ご不明な点がございましたら、お知らせください。
    ファイル再送の手間をお掛けいたしますが、どうぞよろしくお願い申し上げます。

    #7450
    Tatsunori0583
    参加者

    度々のご対応ありがとうございます。

    データベースアクセス_1.mzaxで確認したところテーブルが確認できました。
    ありがとうございます。

6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • このトピックに返信するにはログインが必要です。