CSVアップロードで大量の名前とメールアドレス(2つのフィールドのみ)をインポートする必要があるシステムがあります。
アップロードは簡単に処理できますが、インポートを処理する前にメールアドレスを確認するにはどうすればよいですか。
また、ユーザーがスクリプトの流れを監視することなく、これを迅速に、またはバックグラウンドプロセスとして処理するにはどうすればよいですか?
クラシックASP/SQLサーバー2008の使用。
クラシックASPでジャイブをしないでください。
CSVアップロードで大量の名前とメールアドレス(2つのフィールドのみ)をインポートする必要があるシステムがあります。
アップロードは簡単に処理できますが、インポートを処理する前にメールアドレスを確認するにはどうすればよいですか。
また、ユーザーがスクリプトの流れを監視することなく、これを迅速に、またはバックグラウンドプロセスとして処理するにはどうすればよいですか?
クラシックASP/SQLサーバー2008の使用。
クラシックASPでジャイブをしないでください。
このアップロードは ASP アプリケーション経由で行う必要がありますか? そうでない場合は、最も使い慣れていて、最小限のコーディング時間でこれを実行できるスクリプト言語が、この仕事に最適なツールです。ユーザーが従来の ASP アプリにアップロードできるようにし、有効なレコードをデータベースに挿入し、無効なレコードを拒否する信頼できるプロセスが必要な場合は、選択肢が変わります。
ユーザーにフィードバックを提供する必要がありますか? どの行が無効であったかを正確に伝えたいですか?
その 2 番目のシナリオがあなたが扱っているものである場合、私は単に asp アプリにファイルを保存させ、別のプロセス、.net サービス、またはスケジュールされたタスクなどにインポートを実行させ、その進行状況をテキストで報告させます。 aspアプリがチェックできるファイル。これにより、使い慣れたスクリプト言語での作業に戻り、http 要求のタイムアウトに対処する必要がなくなります。
「正規表現有効なメール」をグーグルで検索すると、無効なメールアドレスを識別するためのさまざまな正規表現が見つかります。
以前は、 DTSを使用してファイルを作業テーブルにドラッグし、SQL コマンドのバッチを使用して作業することで、この種のことを行っていました。今日では、Integration Servicesを使用します。
これにより、データを SQL Server に非常に迅速に取得し、スクリプトのタイムアウトを防ぐことができます。その後、任意の方法 (AJAX 駆動のバッチ、リダイレクト駆動のバッチなど) を使用して、または、単一のバッチ ( SQL Server ジョブ) として実行するようにスケジュールし、結果を報告するだけです。
運が良ければ、アップロード スクリプトによって 50 万行を 1 回のバッチで処理できるかもしれませんが、私はそうは思いません。