Probelmas com Sql e Firebird 2.1

Delphi

12/10/2008

Bom dia amigos, estou migrando uma base de dados do firebird 1.55 para o firebird 2.1.
[b:f9176fa7ee]Utilizo Delphi 7 e DBExpress[/b:f9176fa7ee]
Lembrando que os problemas relacionados com o DBX e Firebird 2.1 somente acontece com a versão 4 do dbx somente encontrada a partir do delphi 2007.
Como estou procedendo:
Backup no 1.5
Remoção do 1.5 (inclusive do registro e também a gds32.dll e fbclient.dll)
Reiniciar o pc
instalação do 2.1
Criação da base no 2.1
Restaure no 2.1
Ao acessar minha aplicação tenho obtido o seguinte erro:
[b:f9176fa7ee]SQL Error: Error Mapping Failed[/b:f9176fa7ee]
Este erro ocorre se eu informar o ip no path de localização do banco, se eu informar somente C:\MinhaApp\Dados\MeuBanco.FDB este erro não ocorre.
Verifiquei o firewall, a porta 3050 esta tudo certo, basta eu informar
LocalHost:C:\MinhaApp\Dados\MeuBanco.FDB e obtenho o erro mesmo em tempo de design ao tentar abrir o ClientDataSet.
O que achei estranho foi que, eu fiz um teste e antes de migrar para a 2.1 eu primeiro, converti para a 2.0 e na 2.0 funcionou normalmente.
Outra coisa que estou notando, tenho um DataModulo padrão, onde todos meus sistemas contemplan ele, neste DM estão as tabelas ref. a cadastros de usuários e autenticidade do sistema, ele é inserido no projeto,portanto tenho 2 dm´s um do sistema propriamente dito e este para as validações.
No evento BeforeConnect tenho o seguinte código:

var ArqIni : tIniFile; Caminho,Porta :string; begin SPortas := TStringList.Create; SPortas.Add(´COM1´); SPortas.Add(´COM2´); SPortas.Add(´COM3´); SPortas.Add(´COM4´); SPortas.Add(´COM5´); SPortas.Add(´COM6´); SPortas.Add(´COM7´); SPortas.Add(´COM6´); SPortas.Add(´COM9´); ArqIni := tIniFile.Create(ExtractFilePath(Application.ExeName) + ´Conecta.ini´); Caminho := ArqIni.ReadString(´CAMINHO´, ´PATH´, ´´); SenhaCon.Params.Values[´DATABASE´] := Caminho; Porta := ArqIni.ReadString(´ECF´, ´PORTA´, ´´); VPorta := SPortas.IndexOf(Porta) + 1; ArqIni.Free;

Este código para ativar o DM onde estão as tabelas de usuários e validações do sistema e no DM do sistema tenho este codigo aqui:
var ArqIni: tIniFile; Caminho, Porta, PortaT: string; Modelo, ModeloT, AvancoT: Integer; // TempT: Integer; begin ArqIni := tIniFile.Create(ExtractFilePath(Application.ExeName) + ´Conecta.ini´); Caminho := ArqIni.ReadString(´CAMINHO´, ´PATH´, ´´); Leitor := ArqIni.ReadString(´LEITOR´, ´TIPO´, ´´); LPorta := ArqIni.ReadString(´LEITOR´, ´LPORTA´, ´´); Modelo := ArqIni.ReadInteger(´ECF´, ´MODELO´, 0); Porta := ArqIni.ReadString(´ECF´, ´PORTA´, ´´); //Dados da Impressora Termica, se houver. ModeloT := ArqIni.ReadInteger(´IMPTERMICA´, ´MODELOTERM´, 0); PortaT := ArqIni.ReadString(´IMPTERMICA´, ´PORTATERM´, ´´); AvancoT := ArqIni.ReadInteger(´IMPTERMICA´, ´AVANCOTERM´, 0); //TempT := ArqIni.ReadInteger(´IMPTERMICA´, ´TEMPTERM´, 0); ModeloImp := ArqIni.ReadString(´IMPTERMICA´, ´MARCATERM´, ´´); Lojascon.Params.Values[´DATABASE´] := Caminho; if (Modelo > 13) then Modelo := 0; Ecf.Modelo := TACBrECFModelo(Modelo); Ecf.Porta := Porta; EtqBarras.Modelo := TACBrETQModelo(ModeloT); EtqBarras.Porta := PortaT; EtqBarras.Avanco := AvancoT; ArqIni.Free;

A ordem de criação dos DMs no project options->Auto-CreateForms esta da seguinte forma:
DM do meu sistema
Tela principal do meu sistema
DM de senhas e tabelas de usuários.
O erro acontece justamente no open de uma das tabelas do dm de senhas.
Sei que estou fazendo algo errado ao trabalhar com 2 dms mas ainda não sei onde, já alterei a ordem de criação no auto create, alterei o nome do componente SqlConnections para que ambos ficassem iguais, mas creio não ser isso pois em design já tenho o erro e somente no dm de autorizações, no outro funciona normalmente, ou seja ele abre sem dar o erro.
Se alguém puder me dar uma explanação sobre isto eu agradeço e muito pois até agora não consegui nada.
Desculpem o texto longo, que mais parece um desabafo.
Grato
Fausto


Faustoalves

Faustoalves

Curtidas 0
POSTAR