-
-
Notifications
You must be signed in to change notification settings - Fork 233
Firebird server on Android has problem with numerics [CORE5888] #6146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Commented by: @livius2 i have enabled trace on Firedac side and it looks like scale is wrongly reported F_NUMERIC is declared as NUMERIC(18,2) wrong |
Modified by: @AlexPeshkoffassignee: Alexander Peshkov [ alexpeshkoff ] |
Commented by: @hvlad Could you try non-Firedac components ? |
Commented by: @livius2 I have tried but only succesfully with Firedac.I can try more if you realy wish. But i suppose problem is not Firedac itself. >>could you run isql on Android I do not know how to do this.. |
Modified by: @livius2environment: Android 8.0 => Android 8.0 |
Commented by: @AlexPeshkoff Karol, can you prepare binary I can run to reproduce the problem? It will be great to make it possible to connect to embedded and remote datasources. |
Commented by: @livius2 Hi Alexander for F_NUMERIC_3 error is different then for F_NUMERIC_2 or F_DECIMAL if you have any questions or need to change something in the app feel free |
Modified by: @livius2Attachment: FBAndroid3.7z.001 [ 13342 ] |
Modified by: @livius2Attachment: FBAndroid3.7z.002 [ 13343 ] |
Commented by: emailx45 (emailx45) hi Karol, is possible you send or show you did your app to access Firrbird embedded in Android. I use RAD Studio 10.3.1 (Delphi), Android 7.0 Nougat, Firebird v3.04, BUT only have tested in MSWindows, and I would like to know config it to use in my test to Android. I downloaded your APK and was installed in my Android and works showing the error that you talk. its great for me because I would like to know how config one FMX project using Firebird embedded to Android. I have some suites like UniDAC, FireDAC, IBX and others to test it. then if you can send me this project test in a zip, and some text about, would be great. hug |
Commented by: @livius2 Hi, thank you for the interest and test on Android 7. You can not connect to Andorid from Firedac by only some configuration changing, sadly. When the issue on the Firebird side will be fixed i will post to Embarcadero quality portal detailed description what should be changed to allow connection. |
Commented by: emailx45 (emailx45) hi Karol, thanks for your reply. I would like know only you created your project th0at at least show info about Firebird in your APK. hug |
Commented by: @AlexPeshkoff Let me confirm an issue using plain isql: SQL> create database 'num.fdb';
============ SQL> show version; Not an error but wrong result, and I'm sure it can make some clients raise error. |
Commented by: @livius2 @alexander Peshkov Maybe this is the issue. PS> If i can ask here - how do you run isql on Android? @emailx45 |
Commented by: emailx45 (emailx45) hi @Karol hug |
Commented by: @AlexPeshkoff Here you can find binaries that should fix this problem: To run isql I did the following: 2. Copied using it firebird binaries and untarred them, next: export FIREBIRD_LOCK=/data/data/berserker.android.apps.sshdroid/home # /data/local/tmp does not work any more as 'good old' tmp BUT - on my device only using new binaries, there were a few issues breaking released binaries! Among them: I suppose second is not a problem for your android or you would never start embedded access. So please test how does it work now. |
Commented by: @livius2 @alexander Peshkov It looks like fixed issue :) Thank you fro the fix |
Modified by: @AlexPeshkoffsummary: Firebird server on Android have problem with numerics => Firebird server on Android has problem with numerics |
Commented by: @AlexPeshkoff What about attaching fixed build to official download page - we do not publish intermediate binaries (may be it's time to have snapshot builds) but very soon plan to release 3.0.5. |
Modified by: @AlexPeshkoffstatus: Open [ 1 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 3.0.5 [ 10885 ] Fix Version: 4.0 Beta 2 [ 10888 ] |
Modified by: @pavel-zotovstatus: Resolved [ 5 ] => Resolved [ 5 ] QA Status: No test => Cannot be tested Test Details: The sample that Alex gave works fine on any common (non-android) FB build: C:\FB\30SS>isql /:e30
============ |
Modified by: @pavel-zotovstatus: Resolved [ 5 ] => Closed [ 6 ] |
Commented by: @livius2 As requested by users [maybe offtopic for the tracker] i have attached deployment screenshot from Delphi |
Modified by: @livius2Attachment: Firebird3Deploy.png [ 13353 ] |
Commented by: emailx45 (emailx45) thanks, and lets try it |
Commented by: Geferson Dietze (dietze.gefe) How to get the file http://libfbclientembed.so? It is not included in the download. |
Commented by: @livius2 It is simply renamed file http://libfbclient.so |
Hi All, is there any updates on this? how to install on android? is there any sdk or flutter package? I use SQLite, but I miss a lot of the resources from Firebird |
This issue is about a fixed thing, not related to your question. But for FB 5 you may see this: https://github.com/FirebirdSQL/examples/blob/main/android-cpp/README.md For things like Delphi, it should be very easy to map these C++ instructions. We still do not have an Android, ReactNative or Flutter SDK that works in Android. I've started one for ReactNative based on node-firebird-driver-native, but ReactNative instability and slow builds made me crazy, so this project is suspended in this moment. |
Submitted by: @livius2
Attachments:
FBAndroid3.7z.001
FBAndroid3.7z.002
Firebird3Deploy.png
Votes: 2
Any select from Firebird containing numeric data type cause
"Fixed length column [F_NUMERIC] data length mismatch. Value length - [2], column fixed length - [8]"
when run from Delphi Firedac.
Same select throught firebird client to remote server works ok.
It looks like (from Firedac error message) that this is metadata/buffer retrurn problem to the client.
Commits: 479d39a 638c4a8
====== Test Details ======
The sample that Alex gave works fine on any common (non-android) FB build:
C:\FB\30SS>isql /:e30
Database: /:e30, User: SYSDBA
SQL> recreate table test(x numeric(8,2));
SQL> insert into test values(3.62);
SQL> commit;
SQL> select * from test;
============
3.62
The text was updated successfully, but these errors were encountered: