Q112:ネットワーク環境で作成中の工程管理簡易版の修正アプリケーションを起動させようと、サーバーに使うPCにMySQLを導入、localhostをそのPCのコンピューター名に変更して接続させましたが、"Communication link failure" でつながりませんでした。
Q112-1:
サーバーでのDB初期化はMySQLの画面で手動でProduction.sqlの内容を導入、うまく導入されていました。次にサーバーにMZプラットフォームを導入するのが必要かと考え、Java共々導入しました。
しかしながら、"Communication Link failure" は変わらず、接続できていません。ファイアウォールでサーバー、クライエントともMySQLは例外に登録してあります。
提供されている工程管理簡易版をlocalhostでサーバーでローダーで起動したところ、"ClassNotFoundException:com/mysql/jdbc/Driver" のエラーが発生、サーバーでの起動もうまくいかない状況です。userは両方ともrootのままです。
何か根本的な手違いがあるのかとアドバイスをいただきたくメールいたします。
1. サーバーにはMZプラットフォームを導入することは必須でしょうか?MySQL導入だけでクライアントからのデータのやり取りはできませんか?
2. ClassNotFoundExceptionとは何でしょうか?
その他確認すべきことがあればご教授ください。
A112-1:
> 1. サーバーにはMZ プラットフォームを導入することは必須でしょうか?
> MySQL導入だけでクライアントからのデータのやり取りはできませんか?
サーバーにMZ Platformを導入する必要はございません。MySQL導入のみでクライアントとのデータ交換を行うことができます。
> 2. "ClassNotFoundException" とは何でしょうか?
この場合、このエラーはMySQLへ接続するためのJDBCドライバが見つからないことを示しています。「工程管理システム導入マニュアル」の「2.2 MySQL関連ファイルの入手とインストール」の記述に従い、JDBCドライバをインストールするとこのエラーは発生しなくなります。
さて、"Communication Link failure" が発生する原因として、MySQLとの通信がファイアウォールで遮断されている可能性が考えられます。以下の手順にて、MySQLが使用している通信ポート(標準では3306)をファイアウォールの例外に設定してお試しください。
[MySQL 5.1の場合]
(1) Windowsのスタートメニューから、すべてのプログラム>MySQL>MySQLServer 5.1>MySQL Server Instance Config Wizardを選択。
(2) "Enable TCP/IP Networking"というチェックボックスが表示される画面が現れるまで、[Next]ボタンを次々とクリック。
(3) "Port Number"と記されているプルダウンリストの右側にある、"Add firewall exception
for this port" というチェックボックスにチェックを入れ、[Next]ボタンをクリック。
(4) 以降、付属の「工程管理システム導入マニュアル」の記述と同様に設定。
通信ポートのファイアウォール例外設定につきましては、「工程管理システム操作マニュアル」の「7-4 ファイアウォールの設定」にも記述がございますので、合わせてご覧ください。
また、MySQLのサーバーとクライアント間で通信が可能となっているかどうかを確認するには、クライアントのコマンドプロンプトから以下のように入力します。ただし、クライアントへのMySQLのインストールが必要となります。
C:\> mysql.exe -h サーバー名 -u root -p
このあと "Enter password:" と表示されますので、パスワードを入力します。通信が成立すれば、"mysql>" と表示されます。