Ir al contenido


Foto

Error mapping Failed al abrir consulta DBX


  • Por favor identifícate para responder
2 respuestas en este tema

#1 Caminante21

Caminante21

    Member

  • Miembros
  • PipPip
  • 21 mensajes
  • LocationLima, Peru

Escrito 04 noviembre 2013 - 02:45

Hola aquí me tienen con una duda. Voy a tratar de ser lo mas claro posible.
Tengo un programa en delphi 7 con una base de datos firebird 2.5 conectado con dbexpress. Ya tenia avanzado un poco y todo funcionaba de maravillas. Hasta que quise hacer la conexión desde un archivo ini.



delphi
  1. Sqlconnection1.params.values('Database'):=IpSever + ':' + PathDb;



Ipserver contiene la IP de mi computadora (servidor) y Path Db es la ruta de la base de datos.
La conexión se llega a realizar pero al abrir una de las ventanas me envía este error:

Error mapping failed

Buscando en internet decían que era un error de versiones de la dll de dbx pero en mi caso lo puedo descartar ya que es la única instalación de Delphi que tiene y ha tenido mi pc. Pero lo mas extraño (al menos para mi) es que si dejo la conexión sin especificar la ip funciona bien.
Por ultimo en mi portátil en donde tengo Delphi XE2 hago una conexión similar y funciona correctamente asi que solo me queda pensar que el problema es el controlador que uso en Delphi 7.
Al final creo que voy a tener que regresar a las ibx o mdo que nunca me habían traido este problema.
Si alguien ha pasado por eso o sabe cual es la causa espero su apoyo.
Gracias por la paciencia.
  • 0

#2 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 04 noviembre 2013 - 03:23

Hola amigo Mohicano

Te dejo mi procedimiento de configuración desde un INI para DBExpress y Firebird 2.5:



delphi
  1. procedure ConfiguraIni(IniFile: String; DBDatos: TSQLConnection);
  2. var
  3.   ArcIni: TIniFile;
  4.   Ruta,sDriver,User,Pass,Host: String;
  5. begin
  6.   {}
  7.   if not FileExists(IniFile) then begin
  8.     raise Exception.Create('No se Encuentra el archivo '+ IniFile);
  9.   end;
  10.  
  11.   ArcIni := TIniFile.Create(IniFile);
  12.   sDriver := ArcIni.ReadString('DATOS','Controlador','');
  13.   if DBDatos.Connected then
  14.     DBDatos.Connected := False;
  15.  
  16.   Ruta := ArcIni.ReadString('DB','Ruta','');
  17.   Host := ArcIni.ReadString('DB','Host','');
  18.   User := ArcIni.ReadString('DB','User','');
  19.   Pass := ArcIni.ReadString('DB','Pass','');
  20.  
  21.   if LowerCase(Host) <> 'localhost' then
  22.     Ruta := Host+':'+Ruta;
  23.  
  24.   DBDatos.Params.Clear;
  25.   DBDatos.Params.Add('DriverUnit=DBXDynalink');
  26.   DBDatos.Params.Add('DriverPackageLoader=TDBXDynalinkDriverLoader,DbxDynalinkDriver100.bpl');
  27.   DBDatos.Params.Add('DriverPackage=DBXCommonDriver110.bpl');
  28.   DBDatos.Params.Add('DriverAssemblyLoader=Borland.Data.TDBXDynalinkDriverLoader,Borland.Data.DbxDynalinkDriver,Version=11.0.5000.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b');
  29.   DBDatos.Params.Add('DriverAssembly=Borland.Data.DbxCommonDriver,Version=11.0.5000.0,Culture=neutral,PublicKeyToken=a91a7c5705831a4f');
  30.   DBDatos.Params.Add('Database='+Ruta);
  31.   DBDatos.Params.Add('RoleName=RoleName');
  32.   DBDatos.Params.Add('User_Name='+User);
  33.   DBDatos.Params.Add('Password='+Pass);
  34.   DBDatos.Params.Add('ServerCharSet=');
  35.   DBDatos.Params.Add('SQLDialect=3');
  36.   DBDatos.Params.Add('BlobSize=-1');
  37.   DBDatos.Params.Add('CommitRetain=False');
  38.   DBDatos.Params.Add('WaitOnLocks=True');
  39.   DBDatos.Params.Add('ErrorResourceFile=');
  40.   DBDatos.Params.Add('LocaleCode=0000');
  41.   DBDatos.Params.Add('Interbase TransIsolation=ReadCommited');
  42.   DBDatos.Params.Add('Trim Char=False');
  43.   DBDatos.Params.Add('MetaDataPackageLoader=TDBXInterbaseMetaDataCommandFactory,DbxReadOnlyMetaData100.bpl');
  44.  
  45.   ArcIni.Free;
  46. end;



Cabe mencionar que en el INI tengo que especificar la IP 127.0.0.1 cuando se trata de localhost o de otra manera Firebird no logra la conexión...

Espero te sea de ayuda (y)

Saludox ! :)
  • 0

#3 Caminante21

Caminante21

    Member

  • Miembros
  • PipPip
  • 21 mensajes
  • LocationLima, Peru

Escrito 04 noviembre 2013 - 04:58

Gracias por responder aunque como dije el problema es en delphi 7 porque en XE2 funciona bien.
Voy a revisar realizar mas pruebas. Gracias.
  • 0




IP.Board spam blocked by CleanTalk.