0

メインフレームのテキストファイルからGUIにデータをロードするWebアプリケーションを自動化しようとしています。Excelを複数のシステム間の自動化のためのデータソースとして使用する

シナリオ

各エントリにテキストファイルに1行があります。単一の顧客の場合、ファイル内に複数の行がある可能性があります。

以下のような2つの別個の行に保存されている2つのアカウントを有する一人の顧客:

CUST_1 0000001

CUST_1 0000002

ワークフロー

ステップ1:顧客

ステップ2を作成します。アカウントを追加する

現在、私の現在の論理は、顧客を作成し、レコードにあるようにそれにアカウントを追加することでした。しかし、同じ顧客に複数のエントリがある場合は、顧客を開いてアカウントを追加する必要があります。

現在のアプローチ

私は、顧客の一意の識別子を取得し、Excelシートに追加することを計画してきました。したがって、顧客を追加する前に、その顧客がそのシートに存在するかどうかをチェックします。

問題文

このスクリプトは、40のシステムにまたがって実行されます。したがって、40の異なるシステムが同じExcelファイルにアクセスしようとします。 40人のユーザーが同じExcelシートを同時に読み書きしようとすると、これは何らかの問題を引き起こす可能性があります。

他のアプローチは歓迎以上のものです。

+0

SQLサーバーはインストールできますか? – ThomasSevestre

+0

いいえ、私はクライアントマシン上にあるので、多くのアクセス権がありません。 – yudi2312

答えて

0

はい、あなたはおそらく問題があるでしょう。複数のスクリプトをExcelシートから読み込むことはできますが、Excelに書き加えると同時に2つのスクリプトでExcelに書き込むことはできません。

いくつかのオプションがあります。

  1. ThomasSevestreは正しいと思います。私は、40台のシステムすべてがアクセスし、スクリプトをdbに書き込むことができる集中データベースを設定することをお勧めします。私はそれが最善の解決策だと思う。それはSQL Serverである必要はありません、それはあなたがローカルに設定することができるMySQLまたは他のdbかもしれません。

  2. ローカルログ(テキスト、CSVなど)を書き込んでから、スクリプトが完了したら、すべての異なるログを結合することができます。もう少し手作業のプロセスですが、マージを行うためのスクリプトを書く限り、それほど悪くはありません。データベースを扱うことができない、またはしたくない場合は、おそらくこれが最良の選択肢です。

  3. もう1つの解決策は、Excelへの書き込みを再試行することです。あなたが潜在的な書き込みの間にいくつかのギャップを持っている限り、それは大丈夫かもしれません。私はこのアプローチをお勧めするとは思わないが、あなたはそれを試して、それがどうなるか見ることができる。スクリプトが非常に迅速に実行される場合、スクリプトがお互いに書き込みを完了するのを待つので、多くの遅延が発生する可能性があります。

+0

解決策1については、データベースを設定することが最良の解決策であり、これが私がクライアントに要求するものであることに同意します。ソリューション2では、ログファイルを読み込んで特定の行を探すのは時間がかかる作業です。ソリューション3は、私の実行時間を増やすだけのものです(これは、スイートで欲しいものの中で最も少ないものです)。 – yudi2312

+0

これがあなたの質問に答えた場合は、答えを受け入れるようにして、質問に答えられないようにしてください。 – JeffC

関連する問題