0

私が取り組んでいるサイトは、Windows Server 2003 と SQL Server 8 (2000?)、および ASP.NET 3.5 を実行しています。

FTP のテキスト ファイルからデータベースにデータをインポートするには、ある種のスクリプトまたはアプリケーションを実行する必要があります。現在のデータベースを使用する、マシン上で実行中のサイトが既に存在します。スケジュールされたタスクを使用して、データをインポートするある種の .aspx ページを確実に開始できますか? または、より良いアプローチがありますか?

インポートを実行するページに他の誰もアクセスできないようにするにはどうすればよいでしょうか? ランダムなユーザーがインポートを実行したくありません!

前もって感謝します!

PS 挿入する前に、データに対して何らかの処理を行う必要があります。つまり、ルックアップ、条件などなので、DB ツールは十分に堅牢ではありません (私が思うに)。私は DTS が嫌いで、このバージョンでは SSIS が利用できないと思います。

4

6 に答える 6

4

C# アプリでインポートを処理したい場合は、フォーム付きの Windows アプリケーション (exe) をお勧めします (実行時に UI がポップアップしないため、コンソール アプリよりも優れています)。スケジュールされたタスクによって頻繁に (毎分) 実行されます。

于 2009-02-24T21:29:43.620 に答える
2

なぜ ASP.NET を使用するのですか? ジョブの複雑さに応じて、データベースに直接ロードする (BULK LOAD) か、より複雑な処理が必要な場合は DTS (SQL Server 2000) または SSIS (SQL Server 2005/2008) を使用できます。

于 2009-02-24T21:21:28.820 に答える
1

ジョブ内のDTSおよびストアドプロシージャ。

ジョブ内のBCPおよびストアドプロシージャ。

あなたはあなたがたくさんのルックアップと変換をする必要があると言いますか?SQLはそれが得意であり、高速に実行するのも得意です。最初は少し怖そうに見えるかもしれませんが、難しくはありません。

于 2009-02-24T23:39:03.297 に答える
1

ここで他の人にエコーします-スケジュールされたタスクがWebページにヒットすることは望ましくありません。SQL Server には優れたデータ インポート オプションがいくつか用意されています。単純な Windows プログラムを作成し、スケジュールされたタスクとして実行することもできます。

もう 1 つのオプションは、FTP ディレクトリを監視してインポートを行う Windows サービスを作成することです。

于 2009-02-24T21:37:22.790 に答える
1

代わりに BULK INSERT または bcp を実行してデータをインポートします。こちらを参照して ください http://msdn.microsoft.com/en-us/library/aa173839(SQL.80).aspx

于 2009-02-24T21:22:54.357 に答える
0

他の人が言ったように、おそらく別のコンソール アプリケーション (スケジュールされたタスクによってトリガーされる) または Windows サービスが、このシナリオに最適なオプションです。

一方、サーバー上で実行されている Web アプリで必要なすべての機能を既に利用できる場合は、スクリプト (VBscript、JScript) を開始するスケジュールされたタスクを設定することができます。ウェブアプリ。

ある種のセキュリティを確保する (たとえば、ユーザーがそのページを呼び出せないようにする) ために、ページがhttp://localhostで呼び出されたかどうかを確認するコードをページに追加できます。これにより、少なくともページがリモート クライアントから呼び出されるのを防ぐことができます。

于 2009-02-24T22:01:42.280 に答える