MZ Platform データベース接続

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

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

データベースの準備

    MZ PlatformではJDBC(データベースへアクセスするためのJava標準API)ドライバーファイルが用意されているものであれば、いずれのデータベースにもアク セス可能です。
    MZ Platformのチュートリアルでは世界中で広く使われているオープンソースデータベースの『MySQL』を例に取上げています。
  1. MySQLのダウンロード (2023年5月現在)
  2. 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」を選んでください。
      ダウンロードが始まります。
  3. MYSQLのインスト―ル
    1. ダウンロードしたインストーラーを立ち上げます。
    2. インストール方法で「Custom」インストールを選びます。
      インストールするMySQLServerとMySQLConnector/Jのバージョンを選びます。
      通常は最新版 を選びます。
      (※インストール方法「ServerOnly」を選んでも自動的に最新の MySQL8.0がインストールされます。
      その場合MySQLConnector/Jを後から追加することも可能です。)
    3. MySQLServerとMySQLConnector/Jをインストールします。

  4. MySQLの設定
  5. インストールが終わり[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へ接続するときに必要なので、忘れないようにしてください。

  6. JDBCドライバー(MySQLConnector/J)の配置
  7. インストールされた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ドライバを入れる

データベースのサービス起動状態の変更(セキュリティの強化)

    MySQLのインストール後、規定では、MySQLのサービスはOSの起動と同時に自動起動します。
    セキュリティ上、使用するときにのみ起動する設定(手動)にしておくことを推奨します。
  1. MySQLサービスの起動状態の変更
    1. Windowsスタート メニューから[Windows管理ツール]>[コンピューターの管理]を選び、[サービスとアプリケーション]から[サービス]を選びます。
    2. [MySQL80]をダブルクリック、または右クリックして[プロパティ]を選びます。
    3. [スタートアップの種類]から[手動]を選び、[停止]ボタン、[適用]ボタン、[OK]ボタンをクリックします。
      サービスが停止し、手動起動の設定になります。
    4. 起動する際には、同様にプロパティ画面から[起動]ボタンを選びます。

リモート接続の設定

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

データベースからのデータ取得の流れ

  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. データベースの操作が終わったら、必ず切断しておきます。
接続情報画面例