MZ Platform データベース接続

  1. データベースアクセスコンポーネント
  2. データベースアクセスコンポーネント

    MZ PlatformにはJDBC(データベースへアクセスするためのJava標準API)ドライバーを介してデータベースに接続し、 SQL(Structured Query Language)と呼ばれる問い合わせ言語を用いて、格納されたデータの操作を行うことができる[データベースアクセス]コンポーネントが用意されています
    このコンポーネントを使って、データベースにアクセスし、データの検索や更新等を行います。

  3. データベースの準備
    1. MZ PlatformではJDBC(データベースへアクセスするためのJava標準API)ドライバーファイルが用意されているものであれば、いずれのデータベースにもアク セス可能です。
      MZ Platformのチュートリアルでは世界中で広く使われているオープンソースデータベースの『MySQL』を例に取上げています。
    2. MySQLのダウンロード (2023年5月現在)
    3. MySQLのサイトからMySQLCommunity Editionをダウンロードします。
      https://www.mysql.com/jp/products/community/ )  
      1. Download MySQL Community Editionのリンクをクリックし、「MySQL Community Downloads」のページを開きます。
        「MySQL Installer for Windows」 を選択してください。
      2. 「Windows(X86,32-bit),MSI Installer」ダウンロードのページが開かれます。
        ファイルサイズが小さいインストーラーはインストール途中で必要なファイルをダウンロードします。
        2つのうちどちらを選んでも構いません。
        「Download」ボタンを押します。
      3. 「Login」、「Sign Up」のボタンがあるページが表示されます。
        ログインや登録は必要はありません。
        ページの下の方にある「No thanks, just start my download」を選んでください。
        ダウンロードが始まります。
    4. MYSQLのインスト―ル
      1. ダウンロードしたインストーラーを立ち上げます。
      2. インストール方法で「Custom」インストールを選びます。
        インストールするMySQLServerとMySQLConnector/Jのバージョンを選びます。
        通常は最新版 を選びます。
        (※インストール方法「ServerOnly」を選んでも自動的に最新の MySQL8.0がインストールされます。
        その場合MySQLConnector/Jを後から追加することも可能です。)
      3. MySQLServerとMySQLConnector/Jをインストールします。

    5. MySQLの設定
    6. インストールが終わり[next]ボタンを押すとMySQLの設定画面が現れます。
      1. 基本的に出てくる設定のまま[Next]ボタンを押して進みます。
        1. Type and Networking (基本的に設定変更なし)
          1. Config Typeは「Development Computer」です。
          2. TCP/IPのデフォルトポート番号は「3306」です。
          3. [Open Windows Firewall ports for network access]にチェックが入っています。
            ※これはリモート接続をする際にファイアーウォールの例外リストにポートを追加する設定です。
            リモート接続の予定がない場合はチェックを外します。
        2. Authentication Method  (設定変更なし)
          [Use Strong Password Encryption for Authentication (RECOMMENDED)]にチェックが入っています。
        3. Account and Roles
          Rootのパスワードを設定します。
          慎重に設定してください。
        4. Windows Service (設定変更なし)
      2. 設定したパスワードはMZ PlatformからMySQLへ接続するときに必要なので、忘れないようにしてください。

    7. JDBCドライバー(MySQLConnector/J)の配置
    8. インストールされたMySQLConnector/JのJARファイルをMZ Platformのフォルダにコピーします。
      1. ドライバがインストールされているフォルダ(例:C:\Program Files (x86)\MySQL\Connector J 8.0)に移動し、ドライバファイル(例:mysql-connector-java-8.0.33.jar)をコピーします。
      2. \MZPlatform\4.0(または4.0_32)\jars\extフォルダにコピーしたドライバファイルを入れま す。
        ※MZ Platform3.6等以前のバージョンを使用している場合は、MZ Platformと共にインストールされたJava実行環境フォルダの¥lib¥ext(例:MZPlatform\Java\jre8_mz3.6_64\lib \ext)に配置してください。
    MySQLのインストール
    (MySQL8.0の最新バージョンをインストールしてください)
    MySQLのインストーラー
    MySQLのインストール バージョンの選択
    MySQLのパスワード設定
    MZPlatform/4.0/jars/extフォルダ内にJDBCドライバを入れる

  4. データベースのサービス起動状態 の変更(セキュリティの強 化)
  5. MySQLのインストール後、規定では、MySQLのサービスはOSの起動と同時に自動起動します。
    セキュリティ上、使用するときにのみ起動する設定(手動)にしておくことを推奨します。

    MySQLサービスの起動状態の変更

    1. Windowsスタート メニューから[Windows管理ツール]>[コンピューターの管理]を選び、[サービスとアプリケーション]から[サービス]を選びます。
    2. [MySQL80]をダブルクリック、または右クリックして[プロパティ]を選びます。
    3. [スタートアップの種類]から[手動]を選び、[停止]ボタン、[適用]ボタン、[OK]ボタンをクリックします。
      サービスが停止し、手動起動の設定になります。
    4. 起動する際には、同様にプロパティ画面から[起動]ボタンを選びます。

  6. リモート接続の設定
  7. MySQLサーバーに他のPCからリモート接続するには、以下の2つの設定が必要です。
    1. Windowsファイアウォールの例外リストにポートを追加する
    2. rootユーザーにリモート接続の権限を与える
    1については、インストール時に基本設定を変更しなければ設定済みなので、ここではMZ Platformに付属のbatファイルを使って、ユーザーに権限を与える方法を紹介します。
    MySQLサーバがインストールされたPCで、MZ Platformのアプリケーションを起動し、ローカル接続する場合には必要ありません。

      rootユーザーにリモート接続の権限を与える

      1. AP_DATA¥Productionにある「remote80.bat」ファイルをダブルクリックします。
        コマンドプロンプトが起動します。
      2. MySQLのインストールで設定したrootのパスワードを入力し、〈Enter〉キーを押します。

      3. 「Using a password on the command line interface can be insecure.」の警告が表示されますが、実行可能です。
        「続行するには何かキーを押してください...」と表示されます。
      4. 何かキーを押します。
        設定が完了し、ウィンドウが閉じます。
      注意!!! この操作を行うと、rootユーザーでMySQLサーバにリモート接続できるようになります。
      ALL PRIVILEGES(すべての権限)を与えることになるので、充分に注意して行ってください。

  8. データベースからのデータ取得の流れ
    1. データベースへの接続
      1. MZ PlatformからMySQLへ接続するには[データベースアクセス]コンポーネントのメソッド「データベー スに接続する (String,String,Strig,String)」を使用します。
        引数1~4までの設定情報は以下の通りです。
      2. MySQL接続情報

        引数1

        ドライバ名

        com.mysql.cj.jdbc.Driver (MYSQL8.0以降)
        引数2

        データベースのURL

        jdbc:mysql://ホスト名:3306/データベース名

        例:jdbc:mysql://localhost/production

        引数3

        ユーザ名

        必須 (チュートリアルではroot)

        引数4

        パスワード

        必須

        他のデータベースの接続情報は
        参考:デー タベースの一般的な説明>データベースへの接続文字列 をご覧ください。
      3. 接続設定画面を作成しておくと、他のデータベース接続にも応用できて便利です。
      4. 参考:工 程 管理作成チュートリアル 1>接続情報画面の作成
    2. SQL文の実行
      1. MySQL内に作成したデータベーステーブルのデータを取得するには、SELECT文を実行します。
        [データベースアクセス]コンポーネントのメソッド「SQL文を実行する(String)」の引数にSELECT文を設定しま す。
        参考:デー タベースの一般的な説明>基本的なSQL文
    3. [テーブル]コンポーネントへのデータ設定
      1. [データベースアクセス]で結果が取得できるSQL文(SELECT文)の実行が完了すると、「データ生成イベント」が発生 し、テーブル 型 のデータが戻ります。
        データ生成イベントのイベント内包データを取得してテーブルに設定することができます。
      2. 戻り値を「メソッド処理結果」で取得することもできます。
        (1,2両方の接続を同時に設定する必要はありません)
    4. データベースとの切断
    5. データベースの操作が終わったら、必ず切断しておきます。
    接続情報画面例