Recuperar/armazenar Imagens no SQL

26/07/2004

0

Senhores,

gostaria de informações de como faço para armazenar e recuperar imagens no SQL Server? Estou usando o image data type no na minha tabela e uso o path do arquivo para inserí-lo (está correto?) mas não sei como recuperá-lo depois uma vez que ao dar select no campo aparece um código binário.

Grato


Leoseger

Leoseger

Responder

Posts

27/07/2004

Marcus.magalhaes

Leo, bom dia.

é preferivel que vc trabalhe com imagens fora do banco e armazene somente o caminho da imagem em disco, mas se vc quer armazenar/recuperar no banco, tem um programinha no SQL q faz isso mto bem, que é o TEXTCOPY.EXE e vc pode usa-lo assim :

Usei a proc para ficar mais facil para visualizar seu uso.

[color=green:f1ddca005b]CREATE PROCEDURE sp_image (
@var_srvname varchar (30),
@var_login varchar (30),
@var_pwd varchar (30),
@var_dbname varchar (30),
@var_tbname varchar (30),
@var_colname varchar (30),
@var_filename varchar (30),
@var_whereclause varchar (40),
@var_direction char(1))
AS
DECLARE @exec_str varchar (255)
SELECT @exec_str =
´textcopy /S ´ + @var_srvname +
´ /U ´ + @var_login +
´ /P ´ + @var_pwd +
´ /D ´ + @var_dbname +
´ /T ´ + @var_tbname +
´ /C ´ + @var_colname +
´ /W ´´ + @var_whereclause +
´´ /F ´ + @var_filename +
´ /´ + @var_direction
EXEC master..xp_cmdshell @exec_str[/color:f1ddca005b]
-- Execution

[color=green:f1ddca005b]sp_image @var_srvname = ´ServerName´,
@var_login = ´user´,
@var_pwd = ´password´,
@var_dbname = ´teste´,
@var_tbname = ´imagens´,
@var_colname = ´img_logo´,
@var_filename = ´c:\picture.bmp´,
@var_whereclause = ´ WHERE img_id=100´,
@var_direction = ´I´ --In[/color:f1ddca005b]

[color=green:f1ddca005b]sp_image @var_srvname = ´ServerName´,
@var_login = ´user´,
@var_pwd = ´password´,
@var_dbname = ´teste´,
@var_tbname = ´imagens´,
@var_colname = ´img_logo´,
@var_filename = ´c:\picture.bmp´,
@var_whereclause = ´ WHERE img_id=100´,
@var_direction = ´O´ --Out[/color:f1ddca005b]

Obs.: O usuário que irá executar está proc tem que ter acesso à xp_cmdshell.

Att,


Responder

28/07/2004

Aroldo Zanela

Colega,

Você pode armazenar qualquer tipo de dados no SQL Server, desde imagens, pdfs, executáveis, etc. Qual é o mecanismo de acesso aos dados que você está utilizando?


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar