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
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
Curtir tópico
+ 0
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,
é 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?
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
Clique aqui para fazer login e interagir na Comunidade :)