gerar/ler arquivo txt no sql.

13/10/2005

pessoal, li uns artigos e me falaram que dentro do sql server dá pra fazer algum tipo de rotina e gerar/ler um arquivo txt. E depois chamar essa rotina na linguagem de programação.

Tem como?


Rafa-martin

Respostas

08/12/2005

Viniciusnunes

Amigão tem como sim .

Vc deve procura por FSO ( File System Object )

segue um exemplo que eu tenho veja se te ajuda .

============================================
alter procedure sp_escrevenoarquivo (@Caminho SYSNAME, @TXT VARCHAR(8000) )
as

begin

DECLARE @FSO INT, @RES int, @FID int

EXECUTE @RES = sp_OACreate ´Scripting.FileSystemObject´, @FSO OUT

-- Abertura do Arquivo
EXECUTE @RES = sp_OAMethod @FSO, ´OpenTextFile´, @FID OUT, @Caminho, 8, 1

-- Escrita para o arquivo
EXECUTE @RES = sp_OAMethod @FID, ´WriteLine´, Null, @TXT
EXECUTE @RES = sp_OAMethod @FID, ´close´, Null
EXECUTE @RES = sp_OADestroy @FID
EXECUTE @RES = sp_OADestroy @FSO
end


EXEC SP_EscreveNoArquivo ´C:\Testes.txt´ , ´Essa é a primeira linha do arquivo´


Responder Citar

29/08/2006

Mcfaria

Olá amigo,

Boa tarde!

Executei a rotina acima, mas recebi a seguinte mensagem de erro

Server: Msg 208, Level 16, State 6, Procedure EscreveArq, Line 20
Invalid object name ´sp_escrevenoarquivo´.

Por favor, você poderia me ajudar a resolver este problema?

Um grande abraço.


Responder Citar

31/08/2006

Diogo.pereira

Tente utilizar create procedure ao invez de alter procedure

Amigão tem como sim . Vc deve procura por FSO ( File System Object ) segue um exemplo que eu tenho veja se te ajuda . ============================================ alter procedure sp_escrevenoarquivo (@Caminho SYSNAME, @TXT VARCHAR(8000) ) as begin DECLARE @FSO INT, @RES int, @FID int EXECUTE @RES = sp_OACreate ´Scripting.FileSystemObject´, @FSO OUT -- Abertura do Arquivo EXECUTE @RES = sp_OAMethod @FSO, ´OpenTextFile´, @FID OUT, @Caminho, 8, 1 -- Escrita para o arquivo EXECUTE @RES = sp_OAMethod @FID, ´WriteLine´, Null, @TXT EXECUTE @RES = sp_OAMethod @FID, ´close´, Null EXECUTE @RES = sp_OADestroy @FID EXECUTE @RES = sp_OADestroy @FSO end EXEC SP_EscreveNoArquivo ´C:\Testes.txt´ , ´Essa é a primeira linha do arquivo´



Responder Citar

07/09/2006

Wagnerbianchi

CREATE PROCEDURE sp_escrevenoarquivo (@Caminho SYSNAME, @TXT VARCHAR(8000) ) 
AS 

BEGIN

DECLARE @FSO INT, @RES int, @FID int 

EXECUTE @RES = sp_OACreate ´Scripting.FileSystemObject´, @FSO OUT 

-- Abertura do Arquivo 
EXECUTE @RES = sp_OAMethod @FSO, ´OpenTextFile´, @FID OUT, @Caminho, 8, 1 

-- Escrita para o arquivo 
EXECUTE @RES = sp_OAMethod @FID, ´WriteLine´, Null, @TXT 
EXECUTE @RES = sp_OAMethod @FID, ´close´, Null 
EXECUTE @RES = sp_OADestroy @FID 
EXECUTE @RES = sp_OADestroy @FSO 
END


Muda o contexto geral para o seu banco de dados e executa esse código acima. . .

Abraço!!


Responder Citar