MySQL funktioniert nur im Editor-Run

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
legion
Beiträge: 467
Registriert: 08.10.2006 18:04
Computerausstattung: Intel Core i5-6500 @ 4x 3.6GHz mit Windows 10 Pro, Intel Core-i7 mit Ubuntu 18.04 bionic, x86_64 Linux 4.18.0-16-generic, Microsoft Surface Pro - Windows 10 Pro
Wohnort: Wien
Kontaktdaten:

MySQL funktioniert nur im Editor-Run

Beitrag von legion »

Hallo meine Freunde !
Nach jahrelanger PB Abstinenz hab ich mich entschlossen PB 5.70 LTS zu kaufen.
Ausschlaggebend dafür war die MySQL und High-DPI Unterstützung.

Doch mit MySQL hab ich momentan so meine Schwierigkeiten.
Der Code funktioniert im PB-Editor bei der Ausführung ganz normal, jedoch
nach der Kompilierung in eine Ausführbare Datei (egal ob exe oder unter Linux) ist
eine Verbindung zum SQL-Server nicht mehr möglich.

Code: Alles auswählen

UseMySQLDatabase()

  Procedure SizeWindowHandler()
    ResizeGadget(0, #PB_Ignore, #PB_Ignore, WindowWidth(EventWindow()), 230)
    ResizeGadget(1, #PB_Ignore, #PB_Ignore, WindowWidth(EventWindow()), WindowHeight(EventWindow()))
  EndProcedure
    
  
  BindEvent(#PB_Event_SizeWindow, @SizeWindowHandler())
  
  If OpenWindow(0, 0, 0, 1600, 900, "Wetterdaten Balkon", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_SizeGadget) 
    ListIconGadget(1, 0, 0, 1600, 900, "ID", 150, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
    AddGadgetColumn(1, 1, "Datum", 150)
    AddGadgetColumn(1, 2, "Uhrzeit", 150)
    AddGadgetColumn(1, 3, "Temperatur °C", 150)
    AddGadgetColumn(1, 4, "Luftfeuchte %", 150)
    AddGadgetColumn(1, 5, "Luftdruck hPa", 150)
  EndIf
  
  If OpenDatabase(0, "host=192.168.0.32 port=3306 dbname=balkon", "user", "passwd" )
      
  Else
    MessageRequester("Fehler", "Verbindung zur Datenbank fehlgeschlagen "+DatabaseError())
  EndIf
  
  If DatabaseQuery(0, "SELECT * FROM messdaten ORDER BY ID DESC", #PB_Database_StaticCursor)
    i=1
  While NextDatabaseRow(0)   ; alle Einträge durchlaufen
    AddGadgetItem(1, -1, GetDatabaseString(0, 0) +Chr(10)+GetDatabaseString(0, 1)+Chr(10)+GetDatabaseString(0, 2)+Chr(10)+GetDatabaseString(0, 3)+Chr(10)+GetDatabaseString(0, 5)+Chr(10)+GetDatabaseString(0, 4))
    i=i+1     
  Wend

    FinishDatabaseQuery(0)
  Else
    MessageRequester("Fehler", "Kann die folgende Abfrage nicht ausführen: "+DatabaseError())
  EndIf   
  
    Repeat 
    Until WaitWindowEvent() = #PB_Event_CloseWindow 
Hab schon eine While-Schleife und ein Delay getestet - kein Erfolg.
Vielen Dank !!!
PB 5.71 LTS Windows 10 Pro & Ubuntu 18.04.2 LTS & Linux Mint 19.3
-----------------------------------------------------
Alles ist, wie man glaubt, dass es ist!
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: MySQL funktioniert nur im Editor-Run

Beitrag von ccode_new »

Hallo legion!

Liegt den die "libmariadb.dll" im selben Ordner wie die auszuführende EXE-Datei ?
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
legion
Beiträge: 467
Registriert: 08.10.2006 18:04
Computerausstattung: Intel Core i5-6500 @ 4x 3.6GHz mit Windows 10 Pro, Intel Core-i7 mit Ubuntu 18.04 bionic, x86_64 Linux 4.18.0-16-generic, Microsoft Surface Pro - Windows 10 Pro
Wohnort: Wien
Kontaktdaten:

Re: MySQL funktioniert nur im Editor-Run

Beitrag von legion »

Yesssssss ! Super Tip, so hat es funktioniert !
Unter Linux ist es die libmariadb.so im compilers Verzeichnis !
Vielen lieben Dank !!!
PB 5.71 LTS Windows 10 Pro & Ubuntu 18.04.2 LTS & Linux Mint 19.3
-----------------------------------------------------
Alles ist, wie man glaubt, dass es ist!
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: MySQL funktioniert nur im Editor-Run

Beitrag von ccode_new »

MySQL und MariaDB (ein OpenSource-Zweig von MySQL) sind leistungsfähige, servergestützte Datenbankmanager, die sehr große Datenbanken und hohe Parallelität unterstützen. PureBasic verwendet die OpenSource MariaDB-Bibliothek, um MySQL- und MariaDB-Datenbanken zu verbinden, die in kommerziellen Anwendungen ohne zusätzliche Lizenzen verwendet werden kann. Beim Versand Ihres PureBasic-Programms müssen Sie 'libmariadb.dll' (Windows), 'libmariadb.so' (Linux) bzw. 'libmariadb.dylib' (OS X) aus dem Verzeichnis 'PureBasic/Compilers' zu Ihrem Paket hinzufügen.

Es gibt keine zusätzlichen Treiber zu installieren - alles ist bereit, um einen MySQL oder MariaDB-Server zu verbinden. Weitere Informationen zu MariaDB finden Sie unter: https://mariadb.org/.

Eine MySQL- oder MariaDB-Datenbank muss mittels OpenDatabase() verbunden sein, bevor andere Datenbankfunktionen verwendet werden können. MySQL-spezifische Argumente können im Parameter 'DatenbankName$' von OpenDatabase() übergeben werden:
- host: Name des Hosts oder IP-Adresse, zu dem/der verbunden werden soll.
- port: Port-Nummer, zu der auf dem Server-Host verbunden werden soll.
- dbname: Der Datenbank-Name.
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
legion
Beiträge: 467
Registriert: 08.10.2006 18:04
Computerausstattung: Intel Core i5-6500 @ 4x 3.6GHz mit Windows 10 Pro, Intel Core-i7 mit Ubuntu 18.04 bionic, x86_64 Linux 4.18.0-16-generic, Microsoft Surface Pro - Windows 10 Pro
Wohnort: Wien
Kontaktdaten:

Re: MySQL funktioniert nur im Editor-Run

Beitrag von legion »

Ja, ja, man sollte öfter die Bedienungsanleitung lesen ! :bounce:
Zu viel Python schadet der Gesundheit :mrgreen:
PB 5.71 LTS Windows 10 Pro & Ubuntu 18.04.2 LTS & Linux Mint 19.3
-----------------------------------------------------
Alles ist, wie man glaubt, dass es ist!
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: MySQL funktioniert nur im Editor-Run

Beitrag von RSBasic »

Etwas spät von mir, aber herzlich Willkommen zurück. :allright:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
legion
Beiträge: 467
Registriert: 08.10.2006 18:04
Computerausstattung: Intel Core i5-6500 @ 4x 3.6GHz mit Windows 10 Pro, Intel Core-i7 mit Ubuntu 18.04 bionic, x86_64 Linux 4.18.0-16-generic, Microsoft Surface Pro - Windows 10 Pro
Wohnort: Wien
Kontaktdaten:

Re: MySQL funktioniert nur im Editor-Run

Beitrag von legion »

Freut mich sehr, dass du dich an mich noch erinnerst !
Lang lang ist es her aber das neue PB hat mich zu einen Wiedereinstieg bewogen.
Habe mich die letzten Jahre mit Python und Javascript herumgeschlagen.

Ist schön wieder bei euch zu sein !!!
PB 5.71 LTS Windows 10 Pro & Ubuntu 18.04.2 LTS & Linux Mint 19.3
-----------------------------------------------------
Alles ist, wie man glaubt, dass es ist!
Antworten