FOTO SE RECUSA A IR DE UM BD PARA OUTRO
Boa tarde!
Prezados colegas,
De vez em quando surgem aquelas tarefas,que nunca se fez
ou se fez, foi a muito tempo atrás e não lembramos como fazer.
Pesquisei ,mas não encontrei resposta.Logo...
Dúvida:
Como transportar imagens (Fotos) de uma Base de dados Oracle, para
uma base de dados Sql Server em modo de execução ( No código) ?
Tentei usar um DataTable, para ler a tabela , com as imagens do Oracle, e consegui ler tranquilo.
Mas,ao tentar inserir as imagens do DataTable, numa tabela do SqlServer,surge uma mensagem
indicando problema de tipo de campo.
Obs: é claro que a tabela de destino da imagem, no SqlServer, eu atribui o Tipo Image . Mas,mesmo
assim não funciona.
Algum colega pode ajudar
Prezados colegas,
De vez em quando surgem aquelas tarefas,que nunca se fez
ou se fez, foi a muito tempo atrás e não lembramos como fazer.
Pesquisei ,mas não encontrei resposta.Logo...
Dúvida:
Como transportar imagens (Fotos) de uma Base de dados Oracle, para
uma base de dados Sql Server em modo de execução ( No código) ?
Tentei usar um DataTable, para ler a tabela , com as imagens do Oracle, e consegui ler tranquilo.
Mas,ao tentar inserir as imagens do DataTable, numa tabela do SqlServer,surge uma mensagem
indicando problema de tipo de campo.
Obs: é claro que a tabela de destino da imagem, no SqlServer, eu atribui o Tipo Image . Mas,mesmo
assim não funciona.
Algum colega pode ajudar
E nem vai funcionar desse jeito. Salve a foto, leia novamente com o tipo correto do Sql Server e então inclua.
Eu ainda preferia salvar a imagem na máquina e gravar no bd apenas o caminho.
pra salvar a imagem na pasta temp
Dim fileName As String = Path.GetTempFileName()
img = PctImagem.Image
File.Delete(fileName)
img.Save(fileName)
Dim CAMINHO As String = fileName
nunca trabalhei com SqlServer, então não sei como inserir a img no banco de dados, mas com o caminho temporário deve ser possÃvel
Dim fileName As String = Path.GetTempFileName()
img = PctImagem.Image
File.Delete(fileName)
img.Save(fileName)
Dim CAMINHO As String = fileName
nunca trabalhei com SqlServer, então não sei como inserir a img no banco de dados, mas com o caminho temporário deve ser possÃvel
Primeiro passo... leia a imagem do oracle e converta-a para um tipo image
No sql server pode-se usar a rotina abaixo para ler a imagem do Banco de dados
No oracle não sei como se faz
dim Pic as image = nothing
If Not IsDBNull(Rst!Logo) Then
Dim Img As New MemoryStream(CType(Rst!Logo, Byte()))
Pic = Image.FromStream(Img)
End If
Para gravar a imagem no Sql Server,
if not Pic is Nothing
Dim Img As New MemoryStream
Pic.Save(Img, Pic.RawFormat)
Dim ArrImage() As Byte = Img.GetBuffer
[ô]Aqui gravar a imagem bo BD do sqlserver. O valor de ArrImage() é que deve ser informado para gravar no Banco de dados
Endif
Esqueci de colocar que Rst!Logo é a imagem recuperada no Banco de dados Sql Server
No sql server pode-se usar a rotina abaixo para ler a imagem do Banco de dados
No oracle não sei como se faz
dim Pic as image = nothing
If Not IsDBNull(Rst!Logo) Then
Dim Img As New MemoryStream(CType(Rst!Logo, Byte()))
Pic = Image.FromStream(Img)
End If
Para gravar a imagem no Sql Server,
if not Pic is Nothing
Dim Img As New MemoryStream
Pic.Save(Img, Pic.RawFormat)
Dim ArrImage() As Byte = Img.GetBuffer
[ô]Aqui gravar a imagem bo BD do sqlserver. O valor de ArrImage() é que deve ser informado para gravar no Banco de dados
Endif
Esqueci de colocar que Rst!Logo é a imagem recuperada no Banco de dados Sql Server
Uma outra alternativa (NÃO FIZ TESTES) seria você ler a imagem do banco Oracle e salvá-la em uma variável byte array (byte[]) e, em seguida, salvar no SQL usando essa variável, da mesma forma que seria feito para ler uma imagem do disco e salvá-la no banco.
Tópico encerrado , respostas não são mais permitidas