Início > SQL Server > SQL Server: Utilizando OPENROWSET para salvar arquivo no banco de dados

SQL Server: Utilizando OPENROWSET para salvar arquivo no banco de dados

Uma vez em uma aplicação eu precisava pegar uma determinada imagem em um servidor e salva-lá no banco de dados SQL Server em uma coluna do tipo IMAGE.

A solução foi o código abaixo.

COLUNA = (SELECT * FROM OPENROWSET(BULK '\\notebook\public\teste.jpg', SINGLE_BLOB) AS IMAGEM)

Vamos as explicações:

OPENROWSET – Inclui todas as informações de conexão exigidas para acessar dados remotos de uma fonte de dados OLE DB. No meu exemplo estou acessando o endereço \\notebook\public.

BULK – Usando pelo OPENROWSET para ler um arquivo. Nesse exemplo estou informando o OPENROWSET para ler o arquivo teste.jpg

SINGLE_BLOB – Retorna um conjunto de linha do tipo varbinary(max).

No final eu realizo um CAST para IMAGE e consigo salvar a imagem no banco de dados.

Importante: OPENROWSET pode ser usado para acessar dados remotos de fontes de dados OLE DB somente quando a opção do Registro DisallowAdhocAccess está definida explicitamente como 0 para o provedor especificado, e quando a opção de configuração avançada Ad Hoc Distributed Queries está habilitada. Quando essas opções não estão definidas, o comportamento padrão não permite acesso ad hoc.

Referência: MSDN

Obrigado e até a próxima.

Anúncios
Categorias:SQL Server Tags:,
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: