フォーラムへの返信
-
投稿者投稿
-
koni参加者
ご回答ありがとうございます。
確かにアプリケーション終了イベントの[新規batファイル削除]を「起動しない」にしたところ、batファイルとsqlファイルが作成されていることを確認できました。
ファイル削除の起動位置を変更して検討したいと思います。今後ともよろしくお願いいたします。
koni参加者ご回答ありがとうございます。
度々の問い合わせとなり申し訳ありませんが、質問させていただきます。
作業中のMZファイルとバッチファイルを添付させていただきますので、ご教授いただければと思います。パターン②でのフレームを表示させて実行する時には問題なく動作しますが、パターン①のサブルーチンでの処理とすると、処理がされないようです。パターン①でもデバックでの操作では、処理が可能な状況です。
社内説明用を想定しコメントを多く記載しておりますが、ご容赦ください。
よろしくお願いいたします。koni参加者ご回答ありがとうございます。
下記の流れで実行しましたが、外部プログラム通信(bat実行)の直下に「ファイル削除」の処理を接続すると、バッチファイルの実行前に、「ファイル削除」されてしまうようです。。
bat実行の下に「タイマー」などで時間差を置いて「ファイル削除」をした方が良いのでしょうか。それとも他に方法があればご教授いただければと思います。<処理の流れ>
ボタン(アクションイベント)⇒外部プログラム通信(bat出力)
⇒ファイル(ファイル名を設定)
⇒ファイル(削除)
よろしくお願いいたします。koni参加者ご回答ありがとうございます。
サンプルファイルを参考に、ファイル名を「日付_〇〇」に指定してバックアップをすることができました。追加の質問になりますが、サンプルファイルを参考にして、以下の流れで実行しようと検討しています。
①元のバッチファイルを準備する
(例:backup.bat…ダンプファイル名の指定箇所を【TEST.sql】としておく)
②元のバッチファイルから、日付_DB名.sqlを作成するためのバッチファイルを生成する
(例:日付_DB名.bat…ダンプファイル名をTESTから【日付_DB名.sql】に置き換える)
③②で生成したbatファイルを読み込んで、バックアップを実行する。
④バックアップを実行後、②で生成したbatファイルを削除する。①~③までは実現することができましたが、「④のbatファイルを削除する」をMZ上で処理することは可能でしょうか。
厳密に言えばbatファイルを削除する必要はないかもしれませんが、指定したファイルを削除する方法があれば、知っておきたいと思い質問させていただきます。今後ともよろしくお願いいたします。
koni参加者ご回答ありがとうございます。
pauseを削除したところ、問題なく動作することができました。さらに追加の質問になりますが、sqlファイルの保存名は(ローカルPCのパス)にて「〇〇.sql」として設定すると思いますが、「20240513_〇〇.sql」のように日付を入れての保存したいと考えています。
バッチファイルの中身にはなりますが、このような設定にすることは可能でしょうか。
最終的にはコンポーネント「タイマー」を使用して、数日に1回のペースなどで自動的にバックアップできればと検討しています。よろしくお願いいたします。
koni参加者ご回答ありがとうございます。
問題なくダンプをすることができましたが、コマンドプロンプトの「続行するには何かキーを押してください」の画面が表示されます。本表示を起動させずに、sqlファイルのみを保存する方法はあるのでしょうか。
よろしくお願いいたします。koni参加者ご回答ありがとうございます。
確かに初回接続時には時間がかかることがありますが、一度接続すれば、動作は安定する状況です。
ファイルサイズやローダーでの起動など考慮しつつ、社内での運用方法を決めたいと思います。
今後ともよろしくお願いいたします。koni参加者ご回答ありがとうございます。
mzasファイルのみの運用の場合、使用バージョンを変更する場合に注意が必要とのことで理解しました。ショートカットによる設定方法もあるとのことですので、パスワード導入の必要性も含めて検討したいと思います。
追加の質問となりますが、バイナリファイルの方がファイルサイズが小さくなるとのことですが、一般的にファイルサイズが小さいほうが、動作は軽くなるようなことはあるのでしょうか。
もちろん使用PCのスペックやサーバーへの接続状況にもよるとは思いますが、PCによってはファイルを開くのに時間がかかったり、MySQLへの初回接続時に動作が重くなったりする例もあり、気になりました。
ちなみにですが、現在運用中のファイルは4MBほどですが、バイナリ形式にしたところ1MBとなりました。また、終了時にテーブルデータを削除するような処理は入れております。
お手数ですが、ご回答よろしくお願いいたします。
koni参加者ご回答ありがとうございます。
[文字列格納変数]のメソッド「trim()」により、空文字の時のみ改行を削除することができました。
今後ともよろしくお願いいたします。koni参加者ご回答ありがとうございます。
マスタテーブルと一覧テーブルを、それぞれOracleとMySQLのデータから抽出している関係で、MZ上で設定する方法で検討します。
今後ともよろしくお願いいたします。 -
投稿者投稿