Bonjour,
Je butte sur ce point tout bête !
Selon l'article https://sourceforge.net/p/zeoslib/wi...0on%20Android/ il est possible d'utiliser Firebird (embedded qui plus est) sous Android. J'ai donc commencé à faire mes propres essais de déploiement (de firebird 3) et je butte sur le mystère de l'emplacement \assets\internal\firebird\.
J'ai déjà réussi à accéder en mode client en utilisant IBdac, avantage je n'avais pas à m'occuper d'indiquer le nom de la vendorlib or, c'est là que ça coince !
Quel Tpath.Getxxxx utiliser pour obtenir le chemin ./assets/internal ?
dans le document cité j'ai ça
Si j'utilise ceci dans mon programme test (en utilisant Firedac et FDPhysIBDriver) ,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 const FirebirdBase = PathDelim + 'firebird'; ClientLib = PathDelim + 'firebird' + PathDelim + 'lib' + PathDelim + 'libfbclient.so.2';
j'obtiens une erreur EDirectoryNotFound "Impossible de trouver le lecteur"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 procedure CreateSymlinkIfNecessary(Const SymLink, Target: String); begin if not FileExists(SymLink) then TFile.CreateSymLink(SymLink, Target); {.$IFDEF DEBUG} if not FileExists(SymLink) then raise Exception.Create('Lien symbolique '+ Target+' non créé'); {.$ENDIF} end; begin CreateSymlinkIfNecessary(FirebirdLib+PathDelim+'libfbclient.so', FirebirdLib+PathDelim+'libfbclient.so.3.0.7'); ... end;
Et pour tout avouer, je n'aime pas trop ces enchainements +PathDelim+ y péférant nettement TPath.Combine
Après maintes recherches je suis enfin "tombé" sur le programme originel (cf. zip) sans toutefois avoir eu le temps de le tester
Partager