Question

Le site que je travaille sur exécute Windows Server 2003 et SQL Server 8 (2000?), Et ASP.NET 3.5.

Je dois avoir une sorte de script ou exécution de l'application pour importer des données à partir d'un fichier texte FTP'd, dans la base de données. Il existe déjà un site en cours d'exécution sur la machine, qui utilise la base de données actuelle. Puis-je utiliser une tâche planifiée pour lancer de façon fiable une sorte de page .aspx qui importera les données? Ou est-il une meilleure approche?

Qu'en est-il faire en sorte que personne ne peut accéder à la page qui va à l'importation? Je ne veux pas que les utilisateurs aléatoires en cours d'exécution à l'importation!

Merci d'avance!

P.S. un certain traitement doit se produire sur les données avant son insertion. à savoir, conditionals, lookups etc, de sorte que les outils DB ne sont pas assez robustes (je pense). Je déteste DTS, et je SSIS est pas disponible dans cette version, je pense.

Était-ce utile?

La solution

DTS et procédures stockées dans un emploi.

BCP et des procédures stockées dans un emploi.

Vous dites que vous devez faire beaucoup de recherches et les conversions? SQL est bon à cela - et bien à le faire rapidement. Il peut sembler un peu intimidant au début, mais il est pas difficile.

Autres conseils

Si vous voulez avoir un C # App gérer votre importation Je suggère une application Windows (exe) w / o un formulaire (mieux qu'une application de la console, car il ne se déclenche pas une interface utilisateur chaque fois qu'il fonctionne). Ont courir tous si souvent (toutes les minutes) par une tâche planifiée.

Pourquoi utiliser ASP.NET? En fonction de la complexité du travail que vous pouvez soit le charger directement à la base de données (LOAD VRAC) ou utilisez DTS (SQL Server 2000) ou SSIS (SQL Server 2005/2008) si le traitement plus complexe est nécessaire.

exécuter un INSERT ou VRAC bcp pour importer les données à la place, voir ici http://msdn.microsoft.com/en-us/library/aa173839 (SQL.80) .aspx

Je vais l'écho d'autres personnes ici - vous ne voulez pas avoir une tâche planifiée a frappé une page Web. SQL Server fournit quelques bonnes options d'importation de données, ou vous pouvez simplement écrire un programme simple de Windows et l'exécuter comme une tâche planifiée.

Une autre option serait d'écrire un service Windows qui surveille votre répertoire FTP et fait l'importation.

Comme d'autres l'ont dit, sans doute une application console séparée (déclenchée par une tâche planifiée) ou un service Windows serait la meilleure option pour ce scénario.

Par contre, si vous avez déjà toutes les fonctionnalités requises disponibles dans l'application Web en cours d'exécution sur le serveur, alors vous pourriez probablement mettre en place une tâche planifiée, qui commence un script (VBscript, JScript), qui appelle à son tour une page de l'application Web.

Pour avoir une sorte de sécurité (par exemple, empêcher que tout utilisateur peut appeler cette page), vous pouvez ajouter du code à la page, qui vérifie si la page a été appelée avec http: // localhost . Cela au moins empêcher la page d'être appelé à partir d'un client distant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top