 
			
				18/06/2008, 04:36
			
			
			     |  
      |    |    |    Fecha de Ingreso: mayo-2004  
						Mensajes: 89
					  Antigüedad: 21 años, 5 meses Puntos: 0     |        |  
  |      Respuesta: Exportar Datos De Varias Tablas A La Vez En Txt        Bueno me respondo a mi misma, encontré algo interesante a raiz de tu respuesta Jota, lo pasteo para que alguien pueda echar mano de ello si necesita lo mismo. (Está en inglés).   
To move all the table data from database to xls or doc or txt files table 
Many times we come accross to move data from database to external files such as word,xls or data files. Here is the script that move all tables data to specified files. Target file names are the table names.  
specify the folder path, server name and @FILE_TYPE wether 
.xls or .doc or .txt   
---**************************************************  ********************************************** 
-- AUTHOR : VEERESH V NASHI (DBA) 
-- CREATED ON : 05-04-2006 
-- PUROSE : To move all the table data from database to xls or doc or txt files table 
---name as the file name   
SET NOCOUNT ON 
GO 
declare @tables table( tid int identity,tname sysname) 
declare @index int  
declare @Max int 
declare @QUERY varchar(4000) 
declare @QUERY1 varchar(4000) 
DECLARE @Tname sysname 
DECLARE @DBNAME SYSNAME 
DECLARE @Folder_Path sysname 
DECLARE @SERVER_NAME SYSNAME 
DECLARE @FILE_TYPE VARCHAR(5) 
insert into @tables (tname)  
select name  from sysobjects where xtype='u'  
set @Max = @@identity   
------USER SETTINGS----------------- 
SET @Folder_Path = 'D:\XLS' 
SET @SERVER_NAME ='javauser3\veena' 
SET @FILE_TYPE = 'XLS' -- EXCEL  OR DATAFILES LIKE TXT OR DOC  
------USER SETTINGS-----------------   
SET @DBNAME = DB_NAME() 
SET @QUERY ='' 
SET @QUERY1 ='' 
SET @Index = 1 
WHILE @index <= @max 
 BEGIN 
SELECT @Tname = tname from @tables where tid = @Index  
	SET @QUERY1 ='SELECT  ' 
	SELECT @QUERY1 =  @QUERY1 + '''' +  QUOTENAME( NAME ,'''') + ''' AS ' +  NAME + ' ,'   FROM SYSCOLUMNS where id = object_id(@tname)   
	SET @QUERY1 = LEFT( @QUERY1,LEN( @QUERY1 ) - 1 )      
 	SET @QUERY='SELECT ' 
 	SELECT @QUERY =  @QUERY + 'CAST ( '+NAME + ' AS VARCHAR('+ LTRIM( STR( LENGTH )) +')),'   FROM SYSCOLUMNS where id = object_id(@tname)  
 	SET @QUERY = LEFT( @QUERY,LEN( @QUERY ) -1 ) +' FROM '+@DBNAME+'.dbo.'+ @TNAME      
  	SET @QUERY1 = @QUERY1 +  ' UNION ALL ' + @QUERY    
	PRINT 'MOVING '+@tname +' TO ' + @Folder_Path +' AS FILE NAME ' +@TNAME +'.'+@FILE_TYPE    
        SELECT  @Query= 'master.dbo.xp_cmdshell  
  		''bcp.exe "'+@QUERY1 +  ' " queryout "'+@Folder_Path+'\' + @tname + '.'+@FILE_TYPE +'" -c -T -S '+@SERVER_NAME +''''   
EXECUTE(@Query) 
--PRINT (@Query1) 
set @Index = @Index  + 1  
end   
GO 
SET NOCOUNT ON           |