Q12:工程管理簡易版でデータベース管理でのダンプ生成は何を実行するのでしょうか?
Q12-1:
工程管理簡易版でデータベース管理でのダンプ生成は何を実行するのでしょうか?データベースの内容をエクセルファイルに保存しようかと考えていますが、ダンプで何かできれば是非活用したいと考え、お伺いいたします。
A12-1:
工程管理簡易版のダンプ生成機能は、内部では[外部プログラム通信]コンポーネントを使い、MySQLデータベースのユーティリティー「mysqldump」を起動して、ダンプファイルを作成するものです。
ダンプファイルの中味は、テーブル設定のSQL文等の内容になりますので、MySQLデータベース以外には適用できません。
<ご参考>『MySQLリファレンス』
「4.9.7. mysqldump(テーブル構造とデータのダンプ)」
http://dev.mysql.com/doc/refman/4.1/ja/mysqldump.html
テーブルの中味は一旦MZPlatform上に取り込んだ後、[CSV出力]コンポーネントを使うとCSVファイルとして出力することができます。
また、MZPlatformとは全く離れてしまいますが、MySQLコマンドラインでCSVファイルを出力したり、エクセルからODBC接続でMySQLへ接続してテーブルを取得する方法もあります。
ダンプ生成機能については『購買管理アプリケーション作成チュートリアル』内で工程管理簡易版内に含む[ローカルMySQL管理]複合コンポーネントを使用しており、P35〜P48でダンプファイルの生成、取り込みを行っている箇所がありますのでどうぞご覧下さい。
CSVファイル出力に関してはサンプルファイル「¥MZPlatform¥2.5¥AP_DATA¥Sample¥CSV入出力.mzax」がございます。
Q12-2:
アプリケーションはMySQLをデータベースにして、データを一括してのバックアップが必要な際はMySQLコマンドでエクセルへExportしようかと考え、調べたところVertrigoServがあったので導入してみました。VertrigoServの導入のため、一旦導入済みのMySQL V5.1を削除、VertrigoServのVersion 5.0で設定しようと試しましたが、dbsetup50.batを左ダブルクリックしたところ、’指定されたファイルが見つかりません’とのメッセージで中座しています。 アプリケーションは当然データベースがないとのことで実行はできません。 Production ファイルのdbsetup50.batは作業の途中で他のファイルへ移動し、元に戻した経緯があり、ファイルの内容がおかしくなったのかと思っていますが、どうも理解できていません。明日でも再度検討しますが、最悪MZ プラットフォームを導入しなおす場合、ライセンスのファイルを再度提供してもらうことをお願いする必要があるのでしょうか?
A12-2:
VertrigoServでMySQL5.0をインストールなさると、インストールされるフォルダーは「C:\ProgramFiles\VertrigoServ\Mysql」ということになるかと存じます。
「dbsetup50.bat」を右クリック>[編集]で開いて頂くと分るのですが、このbatファイルの内容は、「mysql.exe」を起動し、「production.sql」の中味を設定するものとなっています。
@MySQLフォルダまでのパスが違う
⇒エラーメッセージは「指定されたパスが見つかりません」
Amysql.exeが見つからない
⇒「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません」
B「production.sql」までのパスが違う、見つからない
⇒「指定されたファイルが見つかりません」
等が考えられます。
「dbsetup50.bat」を手直しせず使って頂いている場合には、「dbsetup50.bat」と「production.sql」は同一フォルダ内に存在する必要があります。
エラーは起こっていないようですが、VertrigoServを使用してのインストールでMySQLフォルダまでのパスも違ってくるように思うのですが、いかがでしょうか。
ご不明な点、ご要望等ございましたら、どうぞ再度ご連絡下さい。
「dbsetup50.bat」の書換えが必要でしたら、「mysql.exe」までのパスをお知らせ下さい。
A12-3:
工程管理簡易版アプリケーションのデータベース名の欄を『工程管理システム操作マニュアル』通り、「production2」として頂いているかと思います。
「production.sql」内の元々の記述では『production』となっているのですが、この部分は変更なさったでしょうか。
(『production』から『production2』とする理由は、単に『production2』のデータを自由に変更しても良いようにということです)
データベースが作成できているかは、マニュアルP14〜16にあるように、MySQLフォルダ内に「production」あるいは「production2」フォルダが存在するかどうかで確認できます。
やはりフォルダが作られていないということであれば、バッチファイルでの設定が上手く行われていない可能性がありますので、どうぞ再度ご連絡下さい。
Q12-4:
いろいろとサポートを頂きありがとうございます。返信が遅れましたのは、エラーがアプリケーションに関係しているように受け取られたので、内容を確認しておりましたが、結局MySQLを入れ替える(V5.1→VertrigoServ V5.0)以前のProduction2のコピーをVertrigoServ MySQL V5.0にあるProduction2に上書きしたところ、元の状態に戻りました。V5.0のProduction2のファイルの中身がおかしくなって、エラーとなっていたようです。お手数をおかけしました。
全く違う話題ですが、アプリケーション作成でコピー&ペイストを繰り返しているうちに、複合コンポーネントの中のコンポーネントのID番号が大きな数字になってしまいました。 始めのID番号のコンポーネントは、削除しており、ID番号に大きな隙間が発生しています。
例えば ID 9-1-10から9-1-120まで欠番で9-1-9の次のID番号は9-1-121というようにです。実害はありませんが、このような場合、ID番号を変更することは可能なのでしょうか?
A12-4:
アプリケーションビルダー画面上で "右クリック>コンポーネントID再設定" と選択しますと、コンポーネントのIDが上から昇順に再設定されます。
また、コンポーネント上で "右クリック>属性情報設定..." と選択したときに表示されるコンポーネント属性情報設定画面上で、"ComponentID"の欄の数字を変更することにより、コンポーネントIDを個別に指定することも可能です。