Pregunta

El sitio que estoy trabajando se está ejecutando Windows Server 2003 y SQL Server 8 (2000?), Y ASP.NET 3.5.

Es necesario tener algún tipo de script o aplicación se ejecute para importar datos de un archivo de texto FTP'd, en la base de datos. Ya existe un sitio que se ejecuta en la máquina, que utiliza la base de datos actual. ¿Puedo utilizar una tarea programada para patear fiable fuera algún tipo de página .aspx que importará los datos? ¿O hay un mejor enfoque?

Lo que trata de asegurarse de que nadie más puede acceder a la página que se ejecuta la importación? No quiero que los usuarios al azar corriendo la importación!

Gracias de antemano!

P.S. algún tipo de procesamiento es necesario que ocurra en los datos antes de su insertada. es decir, operaciones de búsqueda, condicionales, etc, por lo que las herramientas de base de datos no son lo suficientemente robusta (creo). No me gusta DTS, y yo SSIS no está disponible en esta versión que pienso.

¿Fue útil?

Solución

DTS y procedimientos almacenados en un puesto de trabajo.

BCP y procedimientos almacenados en un puesto de trabajo.

Usted dice que tiene que hacer una gran cantidad de operaciones de búsqueda y las conversiones? SQL es bueno en eso - y bueno en hacer que sea rápido. Puede parecer un poco intimidante al principio, pero no es difícil.

Otros consejos

Si usted quiere tener una aplicación de C # manejar su importación Yo sugeriría una aplicación de Windows (exe) w / o una forma (mejor que una aplicación de consola, ya que no emerge ninguna interfaz de usuario cada vez que se ejecuta). Que se ejecute cada cierto tiempo (cada minuto) por una tarea programada.

¿Por qué utilizar ASP.NET? Dependiendo de la complejidad del trabajo que podría o bien cargarlo directamente a la base de datos (carga masiva) o utilizar DTS (SQL Server 2000) o SSIS (SQL Server 2005/2008) si se necesita un procesamiento más complejo.

ejecutar un BULK INSERT o BCP para importar los datos en su lugar, ver aquí http://msdn.microsoft.com/en-us/library/aa173839 (SQL.80) .aspx

Voy eco de otras personas aquí - usted no quiere tener una tarea programada golpeó una página web. SQL Server proporciona algunas buenas opciones de importación de datos, o simplemente podría escribir un programa de Windows simple y ejecutarlo como una tarea programada.

Otra opción sería escribir un servicio de Windows que vigila el directorio FTP y hace la importación.

Como han dicho otros, probablemente, una aplicación separada de la consola (provocada por una tarea programada) o un servicio de Windows sería la mejor opción para este escenario.

Por otro lado, si ya tiene toda la funcionalidad requerida disponibles en la aplicación web que se ejecuta en el servidor, entonces probablemente podría configurar una tarea programada, que se inicia una secuencia de comandos (VBScript, JScript), que en las llamadas a su vez una página de la aplicación web.

Para tener algún tipo de seguridad (por ejemplo, evitando que cualquier usuario puede llamar a esa página), se podría añadir algo de código a la página, que comprueba si la página se ha llamado con http: // localhost . Esto, al menos, impedir que la página se llama desde un cliente remoto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top