Fórum Exportar Imagem de Firebird para MySQL via Delphi. #413048
21/02/2012
0
Olá pessoal, tudo bem? Espero que sim. Gostaria de saber se podem me ajudar com essa dúvida.
Tenho um bd em firebird 2.5, em um sistema em delphi, que tem um campo blob pra guardar imagens. Eu tenho um site e resolvi criar nele uma extensão desse sistema. Criei uma rotina que salva no bd MySQL do site alguns dados desse sistema, somente pra exibição. Isso eu consegui fazer normal, já que todos dados que envio, mando como texto, string, assim:
ClientDataSet1.First;
while not ClientDataSet1.Eof do
begin
SqlDataSet1.Close;
SqlDataSet1.CommandText :=
INSERT INTO tb_edicoes
+ (id_edicao, cod_titulo, nome_edicao, edicao)
+ VALUES (
+ QuotedStr(ClientDataSet1PKCOD_EDICAO.AsString)
+ ,
+ QuotedStr(ClientDataSet1FKCOD_TITULO.AsString)
+ ,
+ QuotedStr(ClientDataSet1NOME_EDICAO.AsString)
+ ,
+ QuotedStr(ClientDataSet1EDICAO.AsString))
+ ) ;
SqlDataSet1.ExecSQL(False);
ClientDataSet1.Next;
end;
Então, o ClientDataSet1 é meu componente ligado ao banco firebird do sistema, e o SqlDataSet1 é a conexao com o banco MySQL do site. Basicamente é um loop que lê os dados da tabela e vai jogando uma de cada vez esses dados na tabela correspondente do MySQL. Até aí tudo bem, porque mesmo os dados que são inteiros, eu jogo como string, e trato eles em php no site, funciona.
Só que eu tambem tenho imagens na tabela, num campo blob. Criei o mesmo campo no MySQL, mas quando tento salvar lá, da erro. Claro que não tento jogar como string. Tentei fazer assim:
ClientDataSet1IMAGEM.BlobType e nem compila. Diz que tem incompatibilidade de tipos, string e TBlobType.
Tem algum jeito de eu fazer esse procedimento parecido com o que faço pros outros campos?
Tenho um bd em firebird 2.5, em um sistema em delphi, que tem um campo blob pra guardar imagens. Eu tenho um site e resolvi criar nele uma extensão desse sistema. Criei uma rotina que salva no bd MySQL do site alguns dados desse sistema, somente pra exibição. Isso eu consegui fazer normal, já que todos dados que envio, mando como texto, string, assim:
ClientDataSet1.First;
while not ClientDataSet1.Eof do
begin
SqlDataSet1.Close;
SqlDataSet1.CommandText :=
INSERT INTO tb_edicoes
+ (id_edicao, cod_titulo, nome_edicao, edicao)
+ VALUES (
+ QuotedStr(ClientDataSet1PKCOD_EDICAO.AsString)
+ ,
+ QuotedStr(ClientDataSet1FKCOD_TITULO.AsString)
+ ,
+ QuotedStr(ClientDataSet1NOME_EDICAO.AsString)
+ ,
+ QuotedStr(ClientDataSet1EDICAO.AsString))
+ ) ;
SqlDataSet1.ExecSQL(False);
ClientDataSet1.Next;
end;
Então, o ClientDataSet1 é meu componente ligado ao banco firebird do sistema, e o SqlDataSet1 é a conexao com o banco MySQL do site. Basicamente é um loop que lê os dados da tabela e vai jogando uma de cada vez esses dados na tabela correspondente do MySQL. Até aí tudo bem, porque mesmo os dados que são inteiros, eu jogo como string, e trato eles em php no site, funciona.
Só que eu tambem tenho imagens na tabela, num campo blob. Criei o mesmo campo no MySQL, mas quando tento salvar lá, da erro. Claro que não tento jogar como string. Tentei fazer assim:
ClientDataSet1IMAGEM.BlobType e nem compila. Diz que tem incompatibilidade de tipos, string e TBlobType.
Tem algum jeito de eu fazer esse procedimento parecido com o que faço pros outros campos?
Allan Ramos
Curtir tópico
+ 0
Responder
Posts
23/02/2012
Allan Ramos
Opa, será que alguem tem alguma ideia de como fazer?
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)