SQL Server - Importar desde FTP archivos variables a BD sql

   
Vista:

Importar desde FTP archivos variables a BD sql

Publicado por carlos (52 intervenciones) el 11/08/2011 17:29:33
Maestros, me podrían ayudar con esto, como puedo importar a sql server 2000 archivos variables como los siguientes:

archivo_20110808_19.txt
archivo_20110808_18.txt
archivo_20110807_9.txt

estos se cargar en el ftp cada una hora, como puedo importar estos registros cada una hora si su nombre varia, o quizas hacer que importe el mas reciente, como lo puedo hacer por favor.


saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Importar desde FTP archivos variables a BD sql

Publicado por Isaias (3180 intervenciones) el 11/08/2011 18:06:10
En OS (DOS), tines el comando DIR, desde SQL Server, ejecutalo con xp_cmdshell, capturas los nombres de los archivos y los "subes" (importas) con un simple BCP.EXE o BULKINSERT.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar desde FTP archivos variables a BD sql

Publicado por carlos (52 intervenciones) el 11/08/2011 19:02:55
Gracias Isaias,

nunca he utilizado esa herramienta.

encontre este comando

bcp base.tabla in d:\direcciones\archivo_20110808_19.txt -S .\SQLExpress -T -n

preguntas que significa

1) -S
2) .\SQLExpress
3) -T
4) -n

como le indico que tome simpre el ultimo archivo cargado o el mas reciente, ademas en el FTP hay otros archivos txt con otro nombre que no necesito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Importar desde FTP archivos variables a BD sql

Publicado por Isaias (3180 intervenciones) el 11/08/2011 22:43:34
Para saber que significa cada parametro, debes consultar tu ayuda en linea:

http://msdn.microsoft.com/en-us/library/ms162802.aspx

Aunque tambien puedes utilizar BULKINSERT

http://msdn.microsoft.com/es-es/library/ms188365.aspx

En cuanto a como tomar el ultimo archivo, ya te lo comente, haces un DIR de tu carpeta, ejecutandolo desde SQL Server, con apoyo del store xp_cmdshell

EXEC xp_cmdshell 'dir C:\tucarpeta\archivo_*.txtx'

Esto te devolvera una lista de archivos, de esa lista, tomas el que mas te guste.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar desde FTP archivos variables a BD sql

Publicado por carlos (52 intervenciones) el 12/08/2011 02:31:57
Gracias Isaias,

ejecute el comando

y me indica este error: EXEC xp_cmdshell 'dir C:\tucarpeta\archivo_*.txtx'


Server: Msg 2812, Level 16, State 62, Line 1
Could not find stored procedure 'xp_cmdshell'

al ejecutar entiendo que me mostrara un listado de todos los archivos "archivo_*.txt pero como elijo automaticamente el ultimo o el mas reciente, la idea es que tome estos archivo cada una hora de forma automatica.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Importar desde FTP archivos variables a BD sql

Publicado por Isaias (3180 intervenciones) el 12/08/2011 04:22:34
Tu store XP_CMDSHELL, esta en la base MASTER, intentalo asi:

EXEC MASTER..XP_CMDSHELL 'DIR C:\TUCARPETA\*.TXT'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar desde FTP archivos variables a BD sql

Publicado por carlos (52 intervenciones) el 12/08/2011 15:47:09
Isaias,

Ejecuté el siguiente codigo,

EXEC master.[Extended Stored Procedures].XP_CMDSHELL 'DIR D:\CARLOS\+CONTROLES+\D-mapas\TRAFICO_HORA_*.txt'

lo ejecute desde la base master y lo intente tambien de mi base de frd la que uso.

indica este error:

Server: Msg 2812, Level 16, State 62, Line 1
Could not find stored procedure 'master.XP_CMDSHELL'.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Importar desde FTP archivos variables a BD sql

Publicado por Isaias (3180 intervenciones) el 12/08/2011 19:23:45
¿Lo buscaste en la lista de tus EXTENDED STORE PROCEDURE de la base master?

Tal vez no tengas permisos de ejecucion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar desde FTP archivos variables a BD sql

Publicado por carlos (52 intervenciones) el 12/08/2011 20:46:43
Si, si esta en EXTENDED STORE PROCEDURE de la base master, y como se si tengo permiso, como puedo habilitarlo?? por favor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Importar desde FTP archivos variables a BD sql

Publicado por Isaias (3180 intervenciones) el 15/08/2011 20:32:38
En una ventana de analizador de consultas, ejecuta:

EXEC master.dbo.sp_configure 'show advanced options', 1
RECONFIGURE
EXEC master.dbo.sp_configure 'xp_cmdshell', 1
RECONFIGURE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar desde FTP archivos variables a BD sql

Publicado por carlos (52 intervenciones) el 17/08/2011 00:22:48
Isaias

Me indica este error al ejecutar el codigo en mase master

DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Configuration option 'show advanced options' changed from 1 to 1. Run the RECONFIGURE statement to install.
Server: Msg 15123, Level 16, State 1, Procedure sp_configure, Line 78
The configuration option 'xp_cmdshell' does not exist, or it may be an advanced option.

Valid configuration options are:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Importar desde FTP archivos variables a BD sql

Publicado por Isaias (3180 intervenciones) el 18/08/2011 18:49:20
Perdona, tuve que leer todas las postas para enterarme que tu version es 2000, por tanto el ultimo codigo, no aplica.

El caso es que para ejecutar xp_cmdshell con un usuario que no es sysadmin es necesario un proxy. En la documentación viene bien explicado:

http://msdn.microsoft.com/es-es/library/ms175046.aspx

¿Que permisos tiene el usuario que esta ejecutando XP_CMDSHELL?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Importar desde FTP archivos variables a BD sql

Publicado por Isaias (3180 intervenciones) el 18/08/2011 18:51:45
Adicionalmente:

Para ello, deberás contar con permisos de CONTROL SERVER y habilitar la credencial de proxy para xp_cmdshell, usando sp_xp_cmdshell_proxy_account. Más información en:

http://msdn.microsoft.com/es-es/library/ms175046.aspx (apartado de permisos)

y en:

http://msdn.microsoft.com/es-es/library/ms190359.aspx (ejecución de sp_xp_cmdshell_proxy_account).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar