Jump to content


Photo

Error mapping Failed al abrir consulta DBX


  • Please log in to reply
2 replies to this topic

#1 Caminante21

Caminante21

    Member

  • Miembros
  • PipPip
  • 21 posts
  • LocationLima, Peru

Posted 04 November 2013 - 02:45 PM

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
  • 3486 posts
  • LocationMexico City

Posted 04 November 2013 - 03:23 PM

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 posts
  • LocationLima, Peru

Posted 04 November 2013 - 04:58 PM

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.