Aktuelle Zeit: 12.11.2019 02:16

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Was muss für mySqlDatabase installiert sein?
BeitragVerfasst: 06.10.2019 23:37 
Offline

Registriert: 16.09.2004 11:55
Wohnort: nrw
Hallo,
ich habe folgenden Code auf Linux und will ihn kompilieren.
Code:
EnableExplicit
UseMySQLDatabase()

If OpenConsole()
        Define hDatabase.i = OpenDatabase(#PB_Any, "host=xxxxxxxxxx port=3306 dbname=testdb", "topsoftsql", "xxxxxxxxx", #PB_Database_MySQL)
        If hDatabase
                PrintN("Datenbank geoeffnet")
        Else
                PrintN("Fehler, kann Datenbank nicht oeffnen")
                PrintN(DatabaseError())
        EndIf
        If hDatabase : CloseDatabase(hDatabase) : PrintN("Datenbank geschlossen") : EndIf
        Input()
        CloseConsole()
EndIf
End

Dabei bekomme ich vom Debugger aber nachfolgende Fehlermeldung.
Code:
pbcompiler -d test.pb

******************************************
PureBasic 5.71 LTS (Linux - x64)
******************************************

Loading external modules...
Starting compilation...
Starting compilation...
18 lines processed.
Creating the executable.

- Feel the ..PuRe.. Power -


[Debugger Error]  UseODBCDatabase(), UseSQLiteDatase() or UsePostgreSQLDatabase() need to be called before using database commands.
[Debugger Error]  File: test.pb (Line: 5)
  Do you wish to continue the program? (Yes, No, Debugger Console, Ignore all)
  (y,N,d,i)
[Debugger Error]  Input error from stdin, program is exiting.

Von einem Windows Computer aus geht das. Auf dem Linux Rechner sind folgende Pakete installiert:
Code:
libiodbc.i686 : iODBC Driver Manager
libiodbc.x86_64 : iODBC Driver Manager
libiodbc-devel.i686 : Header files and libraries for iODBC development
libiodbc-devel.x86_64 : Header files and libraries for iODBC development
unixODBC.i686 : A complete ODBC driver manager for Linux
unixODBC.x86_64 : A complete ODBC driver manager for Linux
unixODBC-devel.i686 : Development files for programs which will use the unixODBC library
unixODBC-devel.x86_64 : Development files for programs which will use the unixODBC library

Was muss den noch vorhanden sein um sich mit einer mariadb Datenbank zu verbinden?
Gruß Topsoft

_________________
Skylake QuadCore i7 6700K @4400MHz, MSI Z170A Gaming M5, 64 GB DDR4 @ 2133MHz, B: Ramdisk 32GB, C: Raid0 SATA SSD 1TB, D: Raid0 M2 SSD 1TB, E: Raid0 HDD 8TB, 28" 4K @ RTX2080, Win10 X64


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Was muss für mySqlDatabase installiert sein?
BeitragVerfasst: 22.10.2019 22:32 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Hallo topsoft,

kannst du "sudo mysql" über das Terminal ausführen ?

Welches Linux verwendest du ?

Probiere mal:
sudo apt-get install mysql-server

_________________
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.1 / Android 7.0 ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Was muss für mySqlDatabase installiert sein?
BeitragVerfasst: 23.10.2019 05:35 
Offline
Benutzeravatar

Registriert: 29.08.2004 08:37
Ich glaube per default ist eine Verbindung nur von localhost zulässig. Verbindest du dich von außen zur Datenbank?

_________________
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Was muss für mySqlDatabase installiert sein?
BeitragVerfasst: 24.10.2019 19:34 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
DarkDragon hat geschrieben:
Ich glaube per default ist eine Verbindung nur von localhost zulässig.


Nein!

"localhost" muss als "127.0.0.1" angegeben werden !


Es muss ein Benutzer (außer root) für "localhost" erstellt sein.
MySQL unterscheidet zwischen "localhost" - Benutzern und allgemeinen Netzwerk-Benutzern.

Hier ein Beispiel:

sudo mysql

MariaDB [(none)]> CREATE SCHEMA IF NOT EXISTS test;
MariaDB [(none)]> CREATE USER
-> 'Pinguin'@'%' IDENTIFIED BY 'passwort'
->;
MariaDB [(none)]> GRANT INSERT, UPDATE, DELETE, SELECT ON TABLE test.* TO 'Pinguin'@'%', 'Pinguin'@'localhost';
MariaDB [(none)]> exit

Beispiel:
Code:
UseMySQLDatabase()

; You should have a server running on localhost
;
If OpenDatabase(0, "host=127.0.0.1 port=3306 dbname=test", "Pinguin", "passwort")
  Debug "Connected to MySQL"
Else
  Debug "Connection failed: "+DatabaseError()
EndIf


-> Der Beispielbenutzer "Pinguin" kann so als "localhost" erstellt werden:

MariaDB [(none)]> CREATE USER
-> 'Pinguin'@'localhost' IDENTIFIED BY 'passwort'
->;

(% ist nur ein PLatzhalter)

-> GRANT ALL ist natürlich noch besser!

Ich könnte auch mal ein kleines Tutorial erstellen. (vielleicht)

_________________
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.1 / Android 7.0 ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Was muss für mySqlDatabase installiert sein?
BeitragVerfasst: 24.10.2019 20:34 
Offline
Benutzeravatar

Registriert: 29.08.2004 08:37
ccode_new hat geschrieben:
DarkDragon hat geschrieben:
Ich glaube per default ist eine Verbindung nur von localhost zulässig.


Nein!

Stimmt, habs grad nachgeschlagen:
https://dev.mysql.com/doc/refman/5.5/en ... nd-address

Default ist auf allen Netzwerkschnittstellen zu horchen, nicht nur auf loopback.

_________________
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye