Database verbinding gebroken?

Database verbindingsprobleem

De combinatie Gambas 3.20+ met openSUSE Tumbleweed en/of Leap 15.6 geeft een probleem met bestaande gambas3 programma’s bij de verbinding met een mysql/mariadb database, zowel een oude als een recentere, op verschillende systemen:

  • Server version: 10.11.13-MariaDB-0ubuntu0.24.04.1 Ubuntu 24.04.
  • Server version: 10.0.32-MariaDB SLE 12 SP1 package =openSUSE.

Vastgesteld dat het niet (meer) werkt bij de combinatie OpenSUSE/Gambas … (zie verder welke versies nog wel werkten)

  • Leap 15.6 + Gambas 3.20.4
  • Tw 20250617 + Gambas 3.20.4
  • Tw 20250923 + Gambas 3.20.99 + libmariadb3 v. 3.4.5-2.1 + mariadb 11.8.3-MariaDB x86_64 ElDskM

Vanuit de IDE kan je in de console van de IDE (F11) de foutmelding zien:

Try hConnection.Open: Cannot open database: TLS/SSL error: SSL is required, but the server does not support it

deze zag ik ook in bepaalde versiecombinatie:

gb.db.mysql: warning: disabling SSL connection is not supported with your version of MySQL client library.

De fout lijkt voor te komen vanaf de versie waar de client standaard SSL probeert te gebruiken (zie ook MySQL/MariaDb zonder ssl?)

Maar manueel met de mariadbclient kan je er wel voorbij met –skip_ssl of met skip-ssl=true in het .my.cnf bestand; dat bestand heeft geen invloed op de werking van gambas.

Gambas versie?

Ik vermoed dat het vooral Gambas is, Het valt me op dat Gambas vanaf versie 3.20 wijzigingen heeft aan de database componenten. Er is nu zowel de oorspronkelijke gb.db die “grijs staat” om aan te geven dat die “deprecated” is. En er is een gb.db2 beschikbaar die “grotendeels backward compatible” is…

In Gambas 3.18.4 (openSUSE 15.4) is de gb.db component nog aanwezig (componenten in gebruik naast gb.form, gb.gui, gb.image en gb.setttings; geen extra gd.db.mysql of zo geselecteerd). In nieuwe gambas alleen nog gb.db2.

Upd: mijn oorsponkelijke idee dat het aan gb.db2 lag lijkt niet te kloppen. Het heeft waarschijnlijk meer met de mariadb client kant te maken.

Upd: Ik onderzoek nog welke de mariadb client library versies zijn…bv :

  • Tumbleweed 20250730 = libmariadb3 3.4.5-2.1
  • Leap 15.5 = 3.1.22-150000.3.36.

Suse versie? Database client versie?

Deze combinaties werken nog wel Leap=OpenSUSE, Tw= Tumbleweed

  • Leap 15.4 + Gambas 3.18.4 + libmariadb3 v. 3.1.22-150000.3.36.1 + mariadb 15.1 Distrib 10.6.15-MariaDB (lapt)
  • Leap 15.5 + Gambas 3.19.6 (**) + libmariadb3 v 3.1.22-150000.3.36.1 + mariadb 15.1 Distrib 10.6.20-MariaDB (E)
  • Leap 15.5 + Gambas 3.14.3 (1) + libmariadb3 3.1.22-150000.3.36.1 + mariadb 10.6.15-150400.3.29.3 (UTM imac) (1)uit openSUSE:Backports:SLE-15-SP2
  • Leap 15.5 + Gambas3.19.3-lp155.2.1 (munix9) + libmariadb3 v. 3.1.22-150000.3.36.1 + mariadb-client 10.6.15-150400.3.29.3
  • Leap 15.6(*) + Gambas 3.20.2 + libmariadb3 v. 3.1.22-150600.16.3 + mariadb 15.1 Distrib 10.11.9-MariaDB (Villers)
  • Tw2014… + Gambas 3.19.x
  • Tw20250216 + Gambas 3.20.99

(1) https://software.opensuse.org/package/gambas3, Niet-ondersteunde distributies, SUSE:SLE-15:GA, openSUSE:Backports:SLE-15-SP2 : 3.14.3

!(*) Leap 15.6 + Gambas3 3.20.2 : gb3.20.2-lp156.10.1 maar met “oude” gb.db, gb.db.mysql geselecteerd (die doorgeschrapt en grijs staan bij componenten) en zonder ~/.my.cnf en met een update naar gambas 3.20.4-lp156.20.2 die klaarstaat maar (nog) niet uitgevoerd is, beide van home:munix9 als bron. Misschien een openSUSE 15.5 die een upgrade kreeg naar 15.6? Met een native 15.6 werkt het niet.

(**) Leap 15.5 (iso van 2023) + download gambas-3.19.16.tar.gz en gecompileerd van source. Daarna start Gambas niet als root, wel als user. Bij het maken van een nieuw database project krijg je de componenten (en de databaseverbinding werkt):

  • gb.db
  • gb.db.form

Raspbian

Ter vergelijking, werkt ok in Raspbian :

  • Raspbian 11: 6.1.21 + Gb 3.15.2 + mariadb-10.5 + libmariadb3 1:10.5.23-0+deb11u1 (libmariadb3_10.5.29-0+deb11u1_armhf.deb)
  • Raspbian 11 6.1.21 + Gb 3.15.2 + mariadb-10.5 + libmariadb3 1:10.5.26-0+deb11u2 (libmariadb3_10.5.26-0+deb11u2_armhf.deb)

Dringendste is: hoe bestaande programma’s terug aan het werk krijgen? Oude distributies installeren? Kan alleen de mariadb client een oude versie blijven?

Volgende vraag is: hoe de nieuwe gb.db2 gebruiken, wat moet aangepast worden, wat is anders?

Update: 2025 09 26 : Tumbleweed 20250617 krijgt een update inclusief Gambas…dat loste het niet op.