Esse é um jeito bem facil e rapido para ter uma data por extenso somente trocanto o Language do banco:
*** No exemplo eu uso por padrão o us_english no banco de dados. Verifique antes qual o default language do seu banco para alterar a última linha do código:
Declare @Data DateTime
set language brazilian
Declare @Retorno VarChar(200)
If @Data is Null
Begin
Set @Data = getdate()
End
Select DATENAME(weekday, @Data) + ', ' + convert(varchar(02),DatePart(day,@Data)) + ' De ' + DateName(Month,@Data) + ' de ' + convert(varchar(04),DatePart(YEar,@Data)) + '.'
SET LANGUAGE us_english
quarta-feira, 16 de dezembro de 2009
Importar e Exportar imagem do banco.
Hoje há muita controversia a respeito de colocar imagens direto no banco de dados ou colocar apenas o caminho para uma pasta fisica.
Independente da discussão, aqui vai um exemplo de como colocar uma imagem no banco e depois recuperá-la.
Primeiro passo: Criar a tabela.
If Exists(Select 0 from Sys.Objects Where name = 'tbCachimbos')
Begin
Drop Table dbo.tbCachimbos
End
GO
Create Table dbo.tbCachimbos(
idCachimbo int Identity(1,1) NOT NULL,
dsCachimbo VarChar(1000) Not Null,
dsimage Image NULL,
Constraint PK_Cachimbos Primary Key Clustered (idCachimbo ASC))
* Notem o campo dsimage do tipo Image.
Segundo passo: Fazer o insert de um registro e depois colocar a imagem.
Insert Into dbo.tbCachimbos (dsCachimbo) Values ('Brebbia First Rocciata Double Silver Band')
Update dbo.tbCachimbos
Set dsimage = (Select * From OpenRowset (Bulk 'd:\Projetos\Brebbia.jpg', Single_Blob) as a )
Where idCachimbo = @@Identity
* Faça um select da tabela tbCachimbos e veja como está o campo dsimage.
Terceiro passo: Recuperar a imagem.
Para recuperar a imagem, é preciso utilizar o BCP para gravar um arquivo. O problema de gravar um arquivo imagem a partir do campo de uma tabela é conseguir recuperar a tipagem correta da coluna e gravar em um arquivo sem nenhuma alteração de conteudo.
Entre alguns exemplos que consegui, acabei optando por usar um arquivo FMT como padrão de saida.
O arquivo FMT fica assim:
9.0
1
1 SQLIMAGE 0 0 "" 1 dsimage ""
E para recuperar a imagem:
Declare @SQLcommand NVarChar(4000)
Set @SQLcommand = 'bcp "SELECT dsimage FROM BancoTeste.dbo.tbCachimbos" queryout "d:\Projetos\Brebbia_Recuperado.jpg" -T -fd:\Projetos\Imagens.fmt'
Exec xp_cmdshell @SQLcommand, no_output
Independente da discussão, aqui vai um exemplo de como colocar uma imagem no banco e depois recuperá-la.
Primeiro passo: Criar a tabela.
If Exists(Select 0 from Sys.Objects Where name = 'tbCachimbos')
Begin
Drop Table dbo.tbCachimbos
End
GO
Create Table dbo.tbCachimbos(
idCachimbo int Identity(1,1) NOT NULL,
dsCachimbo VarChar(1000) Not Null,
dsimage Image NULL,
Constraint PK_Cachimbos Primary Key Clustered (idCachimbo ASC))
* Notem o campo dsimage do tipo Image.
Segundo passo: Fazer o insert de um registro e depois colocar a imagem.
Insert Into dbo.tbCachimbos (dsCachimbo) Values ('Brebbia First Rocciata Double Silver Band')
Update dbo.tbCachimbos
Set dsimage = (Select * From OpenRowset (Bulk 'd:\Projetos\Brebbia.jpg', Single_Blob) as a )
Where idCachimbo = @@Identity
* Faça um select da tabela tbCachimbos e veja como está o campo dsimage.
Terceiro passo: Recuperar a imagem.
Para recuperar a imagem, é preciso utilizar o BCP para gravar um arquivo. O problema de gravar um arquivo imagem a partir do campo de uma tabela é conseguir recuperar a tipagem correta da coluna e gravar em um arquivo sem nenhuma alteração de conteudo.
Entre alguns exemplos que consegui, acabei optando por usar um arquivo FMT como padrão de saida.
O arquivo FMT fica assim:
9.0
1
1 SQLIMAGE 0 0 "" 1 dsimage ""
E para recuperar a imagem:
Declare @SQLcommand NVarChar(4000)
Set @SQLcommand = 'bcp "SELECT dsimage FROM BancoTeste.dbo.tbCachimbos" queryout "d:\Projetos\Brebbia_Recuperado.jpg" -T -fd:\Projetos\Imagens.fmt'
Exec xp_cmdshell @SQLcommand, no_output
Assinar:
Postagens (Atom)