[firebase-br] Inner Join

Paulo Geloramo paulogeloramo em terra.com.br
Qui Jul 7 13:39:19 -03 2005


Como implementar o commit de duas fases usando
Firebird 1.5.2, DBExpress e dois componentes
SQLConnection para conectar-se a dois bancos de
dados e implementar apenas uma transacao, pois
temos dois componentes SQLConnection e normalmente
temos uma transacoes para cada componente SQLConnection.

Alguem ja utilizou commit de duas fases com DBExpress,
podeira explicar como?

[]s
Paulo Geloramo

-----Mensagem Original----- 
De: "Otto" <ottofuch em terra.com.br>
Para: "FireBase" <lista em firebase.com.br>
Enviada em: quarta-feira, 6 de julho de 2005 21:45
Assunto: Re: [firebase-br] Inner Join



Firebird does not support a multi-table query that spans multiple databases.
Firebird não suporta consultas a múltiplas tabelas que se estendam por
múltiplos bancos de dados  (Firebird book, página 431).

Firebird supports operations across multiple databases under the control of
a single transaction. It implements two-fase commit automatically, to ensure
that the transaction will not commit the work in one database unless it is
possible to commit it in the others. Data is never left partly updated. O
Firebird suporta operações sobre bancos de dados múltiplos sob controle de
uma única transação. Ele implementa automáticamente  um comit de duas fases
, para assegurar que a transação não seja "comitada" num banco de dados a
menos que seja possível de "comitar" nas outras. (Firebird Book, página
551 - traduzido livremente por mim no ato)/

Nos limites entre estas duas afirmações é que você pode tentar resolver o
seu problema.

Quando você escreve BDE creio estar-se referindo ao Paradox. Tanto o
Paradox, quanto o dBase, que são servidos pelo BDE, não são bancos de dados
verdadeiros, e o BDE chama de banco de dados o diretório em que estão
instalados. Inserir uma tabela num banco de dados BDE é criar uma tabela no
diretório, ou copiar ou mover para o diretório uma tabela (que é um arquivo
terminado em .db ou as diferentes  terminações dos índices e Blobs. Pelo que
sei, no caso do Jet Engine com Access, não é possível, numa única consulta
sql, acessar dois arquivos .mdb, já mais próximo do conceito de banco de
dados, embora muitos não lhe concedem este título.

Tenho curiosidade de saber, se usando o BDE com o Firebird, no caso de dois
bancos de dados, se o BDE os enxerga como se fossem dois, ou mesmo um único,
diretório(s).

100+
Otto

.
----- Original Message ----- 
From: "Joelson - Souzamark" <joelsonss em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, July 06, 2005 7:59 PM
Subject: Re: [firebase-br] Inner Join


Caro Felipe...

sinto muito informar-lhe, mas até onde o meu pequeno conhecimento
alcança posso lhe dizer q infelizmente o firebird não aceita select em
2 bancos, se eu não tiver totalmente enganado vc consegue essa
façanha se usar o BDE como engine de acesso a dados, mas seria
mais rápido se vc anotasse os dados com uma caneta e um papel,
rsrsrs (brincadeirinha heim)...

sem mais
Joelson


----- Original Message ----- 
From: "Felipe Giotto" <felipe em metasoftware.com.br>
To: <lista em firebase.com.br>
Sent: Wednesday, July 06, 2005 6:19 PM
Subject: [firebase-br] Inner Join


Olá Pessoal!!

Estou com um pequeno grande problema, até agora sem solução. Já postei a
dúvida antes e não obtive resposta. Estou enviando-a novamente para que,
caso alguém saiba, poste na lista, por favor!! Preciso fazer um SELECT
pegando dados de dois bancos de dados diferentes. Quando utilizava BDE, o
select era feito dessa forma:

SELECT Caixas.CAIXA, Caixas.NUMEQUIP, Caixas.ESPECIE

FROM ":MDADOS:CAIXAS" Caixas

INNER JOIN ":MLOCAL:IMPRESSORA" Impressora

ON (Caixas.CAIXA = Impressora.CAIXA)

Neste caso, MDADOS e MLOCAL eram os meus Alias do BDE... Agora, para cada um
desses, eu tenho uma SQLConnection... Alguém sabe como fazer esse tipo de
SELECT, que una dois GDBs diferentes??

Obrigado,

Felipe Giotto.
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


-- 
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.323 / Virus Database: 267.8.8/37 - Release Date: 01/07/2005



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista